Submission #765132

#TimeUsernameProblemLanguageResultExecution timeMemory
765132KryzArt Exhibition (JOI18_art)C++17
100 / 100
423 ms12352 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
#define sst string
#define pb push_back
#define maxco 100000+5
#define lld long double
#define cha ios_base::sync_with_stdio(false);
#define ffl cout.flush();
#define phi acos(-1)
#define mod 707
#define mr make_pair
#define pqin priority_queue<ll,vector<ll>,greater<>>
#define pqpair priority_queue<pair<ll,ll> ,vector<pair<ll,ll>>,greater<pair<ll,ll>>>
#define pqpair2 priority_queue<pair<pair<ll,ll>,pair<ll,ll>>,vector<pair<pi,pair<ll,ll>>>,greater<pair<pi,pair<ll,ll>>>>
#define INF 1000000009
#define MAXN 500069
#define pi pair<ll,ll>
ll mvx[]={1,-1,0,0};
ll mvy[]={0,0,1,-1};

pair<ll,ll> pr[MAXN];
ll ps[MAXN];
int main(){
    ll n;
    cin>>n;
    set<ll> st;
    for(ll i=1;i<=n;i++){
        cin>>pr[i].fi>>pr[i].se;
    }
    sort(pr+1,pr+n+1);
    ll mn=-1e18;
    ll ans=0;
    for(ll i=1;i<=n;i++){
        ps[i]+=ps[i-1]+pr[i].se;
    }
    for(ll i=1;i<=n;i++){
        mn=max(mn,pr[i].fi-ps[i-1]);
        ans=max(ans,ps[i]-pr[i].fi+mn);
    }
    cout<<ans<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...