Submission #757504

#TimeUsernameProblemLanguageResultExecution timeMemory
757504beepbeepsheepArt Exhibition (JOI18_art)C++17
100 / 100
221 ms28596 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; typedef tree<long long, null_type, less_equal<>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; #define ll long long #define ii pair<ll,ll> #ifndef DEBUG #define cerr if (0) cerr #define endl '\n' #endif const ll inf=1e15; const ll maxn=5e5+5; const ll mod=1e9+7; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ii arr[maxn]; ll pref[maxn]; ll mn[maxn]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); ll n; cin>>n; for (int i=1;i<=n;i++){ cin>>arr[i].first>>arr[i].second; } sort(arr+1,arr+1+n); ll ans=0; for (int i=1;i<=n;i++){ pref[i]=arr[i].second-arr[i+1].first+arr[i].first; pref[i]+=pref[i-1]; mn[i]=min(pref[i],mn[i-1]); ans=max(ans,arr[i].second+pref[i-1]-mn[i-1]); } cout<<ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...