제출 #540352

#제출 시각아이디문제언어결과실행 시간메모리
540352phathnvPotatoes and fertilizers (LMIO19_bulves)C++11
100 / 100
137 ms13144 KiB
#include <bits/stdc++.h>
using namespace std;

const int N = 5e5 + 10;

int n;
long long a[N];

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cin >> n;
    for (int i = 1; i <= n; ++i) {
        int x, y;
        cin >> x >> y;
        a[i] = a[i - 1] + (x - y);
    }
    long long ans = 0;
    for (int i = 1; i <= n; ++i) {
        if (a[i] < 0) {
            ans += (-a[i]);
            a[i] = 0;
        }
        if (a[i] > a[n]) {
            ans += a[i] - a[n];
            a[i] = a[n];
        }
    }
    priority_queue<int> pq;
    pq.push(a[1]);
    for (int i = 2; i <= n; ++i) {
        ans += max(0ll, pq.top() - a[i]);
        pq.push(a[i]);
        pq.push(a[i]);
        pq.pop();
    }
    cout << ans << '\n';
    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...