#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> p;
#define f first
#define s second
int n,ans=0,cur=0;
vector<p> artworks;
int bestprf = LLONG_MAX/2;//best prefix: A dp optimisation
signed main(){
cin>>n;
for (int i=0;i<n;i++){
int a,b;cin>>a>>b;
artworks.push_back(make_pair(a,b));
}
sort(artworks.begin(),artworks.end());
//-current size + val
//prefix: prefix + current size
for (auto [sze,val]:artworks){
cur += val;
ans = max(ans,cur-sze-bestprf);
bestprf = min(bestprf,cur-val-sze);
}
cout<<ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |