Submission #1302682

#TimeUsernameProblemLanguageResultExecution timeMemory
1302682hectormedranoArt Exhibition (JOI18_art)C++20
100 / 100
422 ms16072 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
	ll N, ans;
    cin>>N;
    vector<ll> S(N+1), MX(N+1);
    vector<pair<ll, ll>> AB(N+1);
    AB[0].first = AB[0].second = 0;
    MX[N] = ans = -1e18;
    for(ll i=1;i<=N;i++){
        cin>>AB[i].first>>AB[i].second;
    }
    sort(AB.begin(), AB.end());
    for(ll i=1;i<=N;i++){
        S[i] = AB[i].second + S[i-1];
    }
    for(ll i=N;i>0;i--){
        MX[i-1] = max(MX[i], S[i] - AB[i].first);
    }
    for(ll i=1;i<=N;i++){
        ans = max(ans, AB[i].first - S[i-1] + MX[i-1]);
    }
    cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...