Submission #364236

#TimeUsernameProblemLanguageResultExecution timeMemory
364236RainbowbunnyArt Exhibition (JOI18_art)C++17
100 / 100
240 ms24940 KiB
#include <iostream>
#include <queue>
#include <algorithm>
#include <utility>
#include <vector>

int n;
long long ans = 0;
long long suffixmax[500005];
std::pair <long long, long long> Art[500005];

int main()
{
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(0);
	std::cout.tie(0);
	std::cin >> n;
	for(int i = 1; i <= n; i++)
	{
		std::cin >> Art[i].first >> Art[i].second;
	}
	sort(Art + 1, Art + n + 1);
	for(int i = 1; i <= n; i++)
	{
		Art[i].second += Art[i - 1].second;
	}
	suffixmax[n] = Art[n].second - Art[n].first;
	for(int i = n - 1; i >= 1; i--)
	{
		suffixmax[i] = std::max(suffixmax[i + 1], Art[i].second - Art[i].first);
	}
	for(int i = 1; i <= n; i++)
	{
		ans = std::max(ans, suffixmax[i] - Art[i - 1].second + Art[i].first);
	}
	std::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...