Submission #146916

#TimeUsernameProblemLanguageResultExecution timeMemory
146916bortozPotatoes and fertilizers (LMIO19_bulves)C++17
0 / 100
3 ms376 KiB
#include "bits/stdc++.h" using namespace std; typedef long long ll; #define fi first #define se second int main() { ios::sync_with_stdio(false); int N; cin >> N; vector<int> V(N); set<int> L; for (int i = 0; i < N; i++) { int a, b; cin >> a >> b; V[i] = a - b; if (V[i] > 0) { L.insert(i); } } ll res = 0; for (int i = 0; i < N; i++) { while (V[i] < 0) { auto itR = L.lower_bound(i); if (itR == L.end()) { itR--; } auto itL = itR; if (itL != L.begin()) { itL--; } auto it = abs(i - *itL) < abs(i - *itR) ? itL : itR; int m = min(-V[i], V[*it]); res += 1ll * m * abs(i - *it); V[i] += m; V[*it] -= m; if (V[*it] == 0) { L.erase(it); } } } cout << res << endl; 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...
#Verdict Execution timeMemoryGrader output
Fetching results...