제출 #850155

#제출 시각아이디문제언어결과실행 시간메모리
850155askowArt Exhibition (JOI18_art)C++14
100 / 100
146 ms28944 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n;
    cin>>n;
    pair<int,int>a[n+1];
    int pref[n+1];
    pref[0]=0;
    for(int i=1;i<=n;i++){
        int u,v;
        cin>>u>>v;
        a[i]={u,v};
    }
    sort(a+1,a+n+1);
    for(int i=1;i<=n;++i)pref[i]=pref[i-1]+a[i].second;
    int ans=0;
    /*
    for(int i=1;i<=n;i++){
        for(int j=i;j<=n;j++){
            //ans=max(ans,pref[j]-pref[i-1]-a[j].first-a[i].first);
            int A=(pref[j]);
            int b=pref[i-1];
            int c=a[j].first;
            int d=a[i].first;
            // (a-b)-(c-d)
            // a-b-c+d
            ans=max(ans,A-c-b+d);
        }
    }*/
    int suf[n+2];
    suf[n+1]=-1e18;
    for(int i=n;i>=1;i--)suf[i]=max(suf[i+1],pref[i]-a[i].first);
    for(int i=1;i<=n;i++)ans=max(ans,suf[i]-pref[i-1]+a[i].first);
    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...