This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll readint(){
ll x=0,f=1; char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
return x*f;
}
struct node{
ll x,y;
bool operator<(const node c)const{
if(x==c.x) return y<c.y;
return x<c.x;
}
}k[500005];
ll n;
ll s[500005];
int main(){
n=readint();
for(int i=1;i<=n;i++) k[i].x=readint(),k[i].y=readint();
sort(k+1,k+n+1);
for(int i=1;i<=n;i++) s[i]=s[i-1]+k[i].y;
ll ans=0,now=0;
for(int i=1;i<=n;i++){
now=max(now,k[i].x-s[i-1]);
ans=max(ans,s[i]-k[i].x+now);
}
cout<<ans<<endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |