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>
#define int long long
#define F first
#define S second
#define mp make_pair
using namespace std;
signed main(){
int n;
cin >> n;
pair<int, int> a[n];
for(int i=0; i< n; i++){
int x, y;
cin >> x >> y;
a[i]=mp(x, y);
}
sort(a, a+n);
int prefsum[n+1];
prefsum[0]=0;
for(int i=1; i<=n; i++){
prefsum[i]=prefsum[i-1]+a[i-1].S;
}
int pref[n];
for(int i=0; i<n; i++){
pref[i]=prefsum[i+1]-a[i].F;
}
int suf[n];
suf[n-1]=pref[n-1];
for(int i=n-2; i>=0; i--){
suf[i]=max(suf[i+1], pref[i]);
}
int ans=-1e18;
for(int i=0; i< n; i++){
ans=max(ans, a[i].F+suf[i]-prefsum[i]);
}
cout << ans << '\n';
}
# | 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... |