Submission #1277320

#TimeUsernameProblemLanguageResultExecution timeMemory
1277320shirokitoArt Exhibition (JOI18_art)C++20
100 / 100
147 ms12104 KiB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

const int N = 5e5 + 24;
const ll INF = 1e18;

int n; pair<ll, ll> a[N];
ll pf[N];

void solve() {
    cin >> n;
    
    for (int i = 1; i <= n; i++) {
        cin >> a[i].first >> a[i].second;
    }

    sort(a + 1, a + n + 1);

    for (int i = 1; i <= n; i++) {
        pf[i] = pf[i - 1] + a[i].second;
    }

    ll mn = INF, res = -INF;
    for (int i = 1; i <= n; i++) {
        mn = min(mn, pf[i - 1] - a[i].first);
        res = max(res, pf[i] - a[i].first - mn);
    }

    cout << res << '\n';
}

int main() {
    cin.tie(0) -> sync_with_stdio(0);

    int T = 1; // cin >> T;
    while (T--) {
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...