Submission #751209

#TimeUsernameProblemLanguageResultExecution timeMemory
751209WarinchaiArt Exhibition (JOI18_art)C++17
100 / 100
520 ms14040 KiB
#include<bits/stdc++.h>
using namespace std;
long long psm[500005];
int main(){
	int n;
	cin>>n;
	vector<pair<long long,long long> >v;
	long long mx2=-1*LLONG_MAX,mx=-1*LLONG_MAX;
	for(int i=0;i<n;i++){
		long long a,b;
		cin>>a>>b;
		v.push_back({a,b});
	}
	sort(v.begin(),v.end());
	long long sum=0;
	for(int i=0;i<n;i++){
		sum+=v[i].second;
		psm[i+1]=sum;
	}
	//cout<<endl;
	for(int i=0;i<n;i++){
		if(v[i].first-psm[i]>mx2){
			mx2=v[i].first-psm[i];
		}
		//cout<<i<<" "<<psm[i+1]<<" "<<v[i].first<<" "<<mx2<<" ";
		if(psm[i+1]-v[i].first+mx2>mx){
			mx=psm[i+1]-v[i].first+mx2;
		}
		//cout<<mx<<"\n";
	}
	cout<<mx;
	//3 1 1 20 2 21 30
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...