Submission #291609

#TimeUsernameProblemLanguageResultExecution timeMemory
291609reymontada61Art Exhibition (JOI18_art)C++14
50 / 100
1052 ms20728 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
const int MXN = 500005;
int n;
pair<int, int> arr[MXN];
int a[MXN], b[MXN], p[MXN];

signed main() {

	cin >> n;
	for (int i=1; i<=n; i++) {
		cin >> arr[i].first >> arr[i].second;
	}
	sort(arr+1, arr+n+1);
	
	for (int i=1; i<=n; i++) {
		a[i] = arr[i].first, b[i] = arr[i].second;
		p[i] = p[i-1] + b[i];
	}
	
	int t = a[1];
	int best = 0;
	
	for (int i=1; i<=n; i++) {
		t = max(t, -p[i-1] + a[i]);
		best = max(best, p[i] - a[i] + t);
	}
	
	cout << best << 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...