Submission #1290472

#TimeUsernameProblemLanguageResultExecution timeMemory
1290472hasandasArt Exhibition (JOI18_art)C++20
100 / 100
127 ms8276 KiB
#include <bits/stdc++.h>

using namespace std;


int main() {
	ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
    
	int n;
	cin >> n;

	vector<pair<long long,long long>> v;
	v.reserve(n);

	for (int i = 0; i < n; ++i) {
		long long a, b;
		cin >> a >> b;

		v.push_back({a, b});
	}
	
	ranges::sort(v);
	
	long long prefix = 0;
	long long ans = LLONG_MIN;
	long long min_val = LLONG_MAX;

	for (auto &p : v) {
		long long a = p.first;
		long long b = p.second;
		
		long long val = prefix - a;

		if (val < min_val) {
			min_val = val;
		}

		prefix += b;

		if (long long curr = prefix - a - min_val; curr > ans) {
			ans = curr;
		}
	}

	cout << ans << endl;
	
	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...