Submission #753980

#TimeUsernameProblemLanguageResultExecution timeMemory
753980hung0109ieArt Exhibition (JOI18_art)C++14
100 / 100
763 ms15992 KiB
#include <bits/stdc++.h>

using namespace std;
using ll = long long;
const int maxn = 5e5+1;
int n;
pair<ll, ll> a[maxn];
ll prefix[maxn];
ll mn, ans;

int main(){
    mn = 1e17;
    ans = 0;
    prefix[0]=0;
    cin>>n;
    for(int i = 1; i<=n; i++){
        cin>>a[i].first>>a[i].second;
    }
    sort(a+1, a+n+1);
    for(int i = 1; i<=n; i++){
        prefix[i] = prefix[i-1] + a[i].second;
    }
    for(int j = 1; j<=n; j++){
        if(prefix[j-1]-a[j].first<mn) mn = prefix[j-1]-a[j].first;
        if(ans < prefix[j]-a[j].first-mn) ans = prefix[j]-a[j].first-mn;
    }
    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...