제출 #806966

#제출 시각아이디문제언어결과실행 시간메모리
806966AlphaMale06Art Exhibition (JOI18_art)C++14
100 / 100
551 ms32556 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...