Submission #1180307

#TimeUsernameProblemLanguageResultExecution timeMemory
1180307user736482Art Exhibition (JOI18_art)C++20
100 / 100
120 ms21572 KiB
//#pragma GCC optimize("O3")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pb push_back
#define ff first
#define ss second
#define MOD 1000000009
#define INF 1000000019
#define INFL 1000000000000000099LL
#define MX 507

ll n,q,s,t,a,b,c,d,ans,bst,k,e,m,pier,h,w;
vector<pair<ll,ll>>v;
vector<ll>pref,pref2;

int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n;
    for(ll i=0;i<n;i++){
        cin>>a>>b;
        v.pb({a,b});
    }
    sort(v.begin(),v.end());
    pref.pb(v[0].ss);
    pref2.pb(v[0].ss+v[0].ff-v[1].ff);
    for(ll i=1;i<n;i++){
        pref.pb(pref.back()-v[i].ff+v[i].ss+v[i-1].ff);
       // cout<<v[i].ff<<" "<<v[i].ss<<"\n";
      //  cout<<pref.back()<<"\n";
        if(i+1<n)
        pref2.pb(pref.back()+v[i].ff-v[i+1].ff);
       // cout<<pref2.back()<<" ";
    }
    for(ll i=0;i<n;i++){
        ans=max(ans,pref[i]-bst);
        if(i+1!=n)
            bst=min(bst,pref2[i]);
    }
    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...