Submission #1253753

#TimeUsernameProblemLanguageResultExecution timeMemory
1253753avohadoArt Exhibition (JOI18_art)C++20
100 / 100
111 ms15940 KiB
#include <bits/stdc++.h>
using namespace std;
#define mod 1000000007
#define maxn 200005
#define f first
#define s second
#define ll long long
#define pb(x) push_back(x)
void solve(){
    int n;
    cin >> n;
    pair<long long, long long> p[n];
    for(int i=0; i<n; i++){
        cin >> p[i].f >> p[i].s;
    }
    sort(p, p+n);
    long long pr[n+1], m[n];pr[0]=0;
    for(int i=0; i<n; i++){
        pr[i+1]=pr[i]+p[i].s;
    }
    m[n-1]=pr[n]-p[n-1].f;
    for(int i=n-2; i>=0; i--){
        m[i]=max(m[i+1], pr[i+1]-p[i].f);
    }
    long long ans=0;
    for(int i=0; i<n; i++){
        ans=max(ans, m[i]-pr[i]+p[i].f);
    }
    cout << ans;
}
int main(){
    cin.tie(nullptr)->sync_with_stdio(0);
    int t=1;
    //cin >> t;
    while(t--){
        solve();
        cout << "\n";
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...