Submission #492539

#TimeUsernameProblemLanguageResultExecution timeMemory
4925391neArt Exhibition (JOI18_art)C++14
100 / 100
383 ms50184 KiB
#include<bits/stdc++.h>
using namespace std;

int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;cin>>n;
vector<pair<int64_t,int64_t>>arr(n);
for (int i = 0;i<n;++i){
	cin>>arr[i].first>>arr[i].second;
}
vector<int>order(n);
iota(order.begin(),order.end(),0);
sort(order.begin(),order.end(),[&](int i,int j){
	return arr[i].first<arr[j].first;
});
vector<int64_t>pref(n+1,0);
for (int i = 0;i<n;++i){
	pref[i+1] = pref[i] + arr[order[i]].second;
}
int64_t ans = 0;
set<int64_t>brr;
brr.insert(pref[0]-arr[order[0]].first);
for (int i = 1;i<=n;++i){
	ans = max(ans,pref[i] - arr[order[i-1]].first - *brr.begin());
	if (i<n)
	brr.insert(pref[i] - arr[order[i]].first);
}
cout<<ans<<'\n';
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...