Submission #1090748

#TimeUsernameProblemLanguageResultExecution timeMemory
1090748ivan_alexeevArt Exhibition (JOI18_art)C++17
100 / 100
168 ms24776 KiB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>

using namespace __gnu_pbds;

#ifdef lisie_bimbi
#else
#define endl '\n'
#endif
typedef long long ll;

const ll inf = 1'000'000'000'000'000'000;

using namespace std;

#pragma GCC optimize("O3")
#pragma GCC target("avx,avx2,bmi2,fma,popcnt")


#define int long long


void solve(){
    int n;
    cin >> n;
    vector<pair<int, int>> a(n);
    for(int i = 0; i < n; i++){
        cin >> a[i].first >> a[i].second;
    }
    std::sort(a.begin(), a.end());
    vector<int> p(n + 1);
    for(int i = 0; i < n; i++){
        p[i + 1] = p[i] + a[i].second;
    }
    for(int i = 0; i < n; i++){
        p[i] -= a[i].first;
    }
    int mn = inf;
    int ans = 0;
    for(int i = 0; i < n; i++){
        mn = min(mn, p[i]);
        int x = p[i + 1] - a[i].first;
        if(i + 1 < n){
            x += a[i + 1].first;
        }
        ans = max(ans, x - mn);
    }
    cout << ans << endl;
}

signed main(){
#ifdef lisie_bimbi
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#else
    cin.tie(nullptr)->sync_with_stdio(false);
#endif
    cout << setprecision(5) << fixed;
    int _ = 1;
    //cin >> t;
    while(_--){
        solve();
    }
    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...