1 条题解

  • 0
    @ 2025-12-12 19:18:20
    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    const int N=2e5+10;
    #define PII pair<int,int>
    #define fi first
    #define se second
    PII a[N];int siz[N],top;
    bool cmp(PII n1,PII n2){return n1.fi<n2.fi;}
    signed main()
    {
    	int n,m,k;cin>>n>>m>>k;
    	for(int i=1;i<=n;i++)cin>>a[i].fi>>a[i].se;
    	sort(a+1,a+n+1,cmp);
    	int ans=0;
    	for(int i=1;i<=n;i++)
    	{
    		while(top<=i-1&&a[i].fi-a[top].fi>=k)m+=siz[top++];
            siz[i]=min(m,a[i].se);
            m-=siz[i];
            ans+=siz[i];
    	}
    	cout<<ans;
    	return 0;
    }
    • 1

    信息

    ID
    7446
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    57
    已通过
    18
    上传者