Submission #1356957

#TimeUsernameProblemLanguageResultExecution timeMemory
1356957IratePotatoes and fertilizers (LMIO19_bulves)C++20
100 / 100
127 ms12488 KiB
#include <bits/stdc++.h>
using namespace std;
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    vector<int>a(n + 1), b(n + 1);
    vector<long long>p(n + 1);
    for(int i = 1;i <= n;++i){
        cin >> a[i] >> b[i];
        p[i] = p[i - 1] + (a[i] - b[i]);
    }
    priority_queue<long long>pq;
    long long dp0 = 0;
    for(int i = 1;i < n;++i){
        dp0 += abs(p[i]);
        pq.push(p[i]);
        pq.push(p[i]);
        pq.pop();
    }
    while(!pq.empty() && pq.top() >= 0){
        long long point = pq.top();
        dp0 -= min(point, p[n]);
        pq.pop();
    }
    cout << dp0 << '\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...