Submission #1346381

#TimeUsernameProblemLanguageResultExecution timeMemory
1346381AMnuPotatoes and fertilizers (LMIO19_bulves)C++20
30 / 100
47 ms4460 KiB
#include <bits/stdc++.h>
using namespace std;

const int MAXN = 5e5+5;

int N, P[MAXN], B;
long long ans;
priority_queue <int> PQ;

int main() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	cin >> N;
	for (int i=1;i<=N;i++) {
		cin >> P[i] >> B;
		P[i] += P[i-1] - B;
	}
	for (int i=1;i<N;i++) {
		if (P[i] < 0) {
			ans += -P[i];
			P[i] = 0;
		}
		if (P[i] > P[N]) {
			ans += P[i]-P[N];
			P[i] = P[N];
		}
		PQ.push(P[i]);
		PQ.push(P[i]);
		ans += PQ.top() - P[i];
		PQ.pop();
	}
	cout << ans << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...