Submission #586783

#TimeUsernameProblemLanguageResultExecution timeMemory
586783VanillaArt Exhibition (JOI18_art)C++17
100 / 100
493 ms12116 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long int64;
const int maxn = 5e5 + 2;
pair <int64, int64> a [maxn];
int64 dp[maxn];

int main() {
	int n;
	cin >> n;
	for (int i = 0; i < n; i++){
		cin >> a[i].first >> a[i].second;
	}
	sort(a, a + n);
	dp[0] = a[0].second;
	for (int i = 1; i < n; i++){
		dp[i] = max(dp[i-1] - (a[i].first - a[i-1].first) + a[i].second, a[i].second);
	}
	cout << *max_element(dp, dp + n);
	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...