Submission #1180566

#TimeUsernameProblemLanguageResultExecution timeMemory
1180566asli_bgArt Exhibition (JOI18_art)C++20
100 / 100
219 ms43500 KiB
#include<bits/stdc++.h> using namespace std; #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; #define int long long //#define int double typedef pair<int,int> pii; typedef vector<pii> vii; typedef vector<int> vi; typedef vector<bool> vb; #define FOR(i,a) for(int i=0;i<(a);i++) #define FORE(i,a,b) for(int i=(a);i<(b);i++) #define all(x) x.begin(),x.end() #define fi first #define se second #define pb push_back #define sp <<" "<< #define cont(x) for(auto el:x) cout<<el<<' ';cout<<endl; #define contp(x) for(auto el:x) cout<<el.fi<<'-'<<el.se<<' ';cout<<endl; #define DEBUG(x) cout<<#x sp x<<endl; #define carp(x,y) ((x%MOD)*(y%MOD))%MOD #define topla(x,y) ((x%MOD)+(y%MOD))%MOD #define mid (l+r)/2 const int MAXN=1e5+5; const int MOD=1e9+7; const int INF=1e18; signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n; cin>>n; vii a(n); FOR(i,n) cin>>a[i].fi>>a[i].se; sort(all(a)); vi bir(n,0); vi iki(n,0); vi deg(n,0); set<int> cur; int ans=0; bir[0]=a[0].se; iki[0]=0; cur.insert(a[0].fi); FORE(i,1,n){ bir[i]=bir[i-1]+a[i].se; cur.insert(a[i].fi); iki[i]=*cur.rbegin()-*cur.begin(); deg[i]=bir[i]-iki[i]; ans=max(ans,bir[i]-iki[i]); } for(int i=n-2;i>=0;i--) deg[i]=max(deg[i+1],deg[i]); int tt=0; FORE(i,1,n){ tt-=a[i-1].se; tt+=a[i].fi-a[i-1].fi; ans=max(ans,deg[i]+tt); } 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...