Submission #1261514

#TimeUsernameProblemLanguageResultExecution timeMemory
1261514sohamsen15Art Exhibition (JOI18_art)C++20
100 / 100
120 ms24028 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    ll n, ans = 0; cin >> n;
    vector<pair<ll, ll>> a(n + 1, {0, 0});
    for (int i = 1; i <= n; i++) cin >> a[i].first >> a[i].second;

    sort(a.begin(), a.end());

    vector<ll> p(n + 1, 0), u(n + 1), v(n + 1), mxu(n + 1);
    for (ll i = 1; i <= n; i++) p[i] = a[i].second + p[i - 1];
    for (ll i = 1; i <= n; i++) u[i] = p[i] - a[i].first;
    for (ll i = 1; i <= n; i++) v[i] = a[i].first - p[i - 1];
    
    mxu[n] = u[n];
    
    for (ll i = n - 1; i >= 1; i--) mxu[i] = max(mxu[i + 1], u[i]);
    for (ll i = 1; i <= n; i++) ans = max(ans, mxu[i] + v[i]);

    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...