Submission #112264

#TimeUsernameProblemLanguageResultExecution timeMemory
112264dolphingarlicArt Exhibition (JOI18_art)C++11
0 / 100
2 ms384 KiB
#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#define FOR(i, x, y) for (int i = x; i < y; i++)
typedef long long ll;
using namespace std;

pair<ll, ll> a[500001];
ll pref[500001]{0};

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin >> n;
    FOR(i, 1, n + 1) cin >> a[i].first >> a[i].second;
    sort(a + 1, a + n + 1);
    FOR(i, 1, n + 1) pref[i] = pref[i - 1] + a[i].second;
    int l = 1;
    ll ans = a[1].second;
    FOR(i, 2, n + 1) {
        ll diff = a[i].first - a[i - 1].first + a[i].second;
        while (diff < 0) {
            diff += a[l++].second;
        }
        ans = max(ans, (pref[i] - pref[l - 1]) - (a[i].first - a[l].first));
    }
    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...