Submission #1258099

#TimeUsernameProblemLanguageResultExecution timeMemory
1258099cheetahArt Exhibition (JOI18_art)C++20
100 / 100
353 ms13728 KiB
#include <iostream>
#include <stdio.h>
#include <queue>
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=100005;
int n,k;

vector<pair<int,int>>dp(maxn);// [i]={top,diff}
int32_t main(){
	int t=1;
	//cin>>t;
	int n;
	cin>>n;
	vector<int>pre(n+2,0);
	vector<pair<int,int>>a(n+1);
	for(int i=1;i<=n;i++){
		cin>>a[i].first>>a[i].second;																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																												
	}
	sort(a.begin()+1,a.end());
	for(int i=1;i<=n;i++){
		pre[i]=pre[i-1]+a[i].second;
	}
	int mn=INT_MAX,ans=0;
	for(int i=1;i<=n;i++){
		mn=min(mn,pre[i-1]-a[i].first);
		ans=max(ans,pre[i]-a[i].first-mn);
	}
	cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...