Submission #219208

#TimeUsernameProblemLanguageResultExecution timeMemory
219208quocnguyen1012Potatoes and fertilizers (LMIO19_bulves)C++14
100 / 100
187 ms15340 KiB
#include <bits/stdc++.h> #define fi first #define se second #define mp make_pair #define pb push_back #define eb emplace_back using namespace std; typedef long long ll; typedef pair<int, int> ii; const int maxn = 5e5 + 5; ll sum[maxn]; int N; signed main(void) { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #ifdef LOCAL freopen("A.INP", "r", stdin); freopen("A.OUT", "w", stdout); #endif // LOCAL cin >> N; for(int i = 1; i <= N; ++i){ int a, b; cin >> a >> b; sum[i] = sum[i - 1] + a - b; } priority_queue<ll> pq; ll res = 0; for(int i = 1; i <= N; ++i){ if(sum[i] < 0){ res -= sum[i]; sum[i] = 0; } if(sum[i] > sum[N]){ res += sum[i] - sum[N]; sum[i] = sum[N]; } pq.push(sum[i]); if(sum[i] < pq.top()){ res += pq.top() - sum[i]; pq.pop(); pq.push(sum[i]); } } cout << res; }
#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...