Submission #64140

#TimeUsernameProblemLanguageResultExecution timeMemory
64140keko37Art Exhibition (JOI18_art)C++14
100 / 100
366 ms75784 KiB
#include<iostream>
#include<cstdio>
#include<algorithm>

using namespace std;

typedef long long llint;

const int MAXN = 500005;
const llint INF = 1000000000000000000LL;

llint n, sol = -INF, mx = -INF;
llint s[MAXN];
pair <llint, llint> p[MAXN];

int main () {
	cin >> n;
	for (int i=1; i<=n; i++) {
		scanf("%lld%lld", &p[i].first, &p[i].second);
	}
	sort(p+1, p+n+1);
	for (int i=1; i<=n; i++) {
		s[i] = p[i].second + s[i-1];
	}
	for (int i=n; i>=1; i--) {
		mx = max(mx, s[i] - p[i].first);
		sol = max(sol, mx + p[i].first - s[i-1]);
	}
	cout << sol;
	return 0;
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:19:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld%lld", &p[i].first, &p[i].second);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...