Submission #678501

#TimeUsernameProblemLanguageResultExecution timeMemory
678501vjudge1Art Exhibition (JOI18_art)C++17
100 / 100
208 ms24992 KiB
#include <bits/stdc++.h>
using namespace std;

#define ld long double
#define int long long
#define endl "\n"

const int N = 5e5;

int pref[N + 1];

vector<pair<int,int>> st;

signed main() {
    ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    // freopen("in.txt","r",stdin);
    // freopen("out.txt","w",stdout);

    int n;
    cin>>n;
    st.push_back({-1,-1});

    for(int i = 0;i < n;i++) {
        int a,b;
        cin>>a>>b;
        st.push_back({a,b});
    }
    sort(st.begin(),st.end());

    for(int i = 1;i <= n;i++) {
        pref[i] = pref[i - 1] + st[i].second;
    }
    // pref[i] - pref[j - 1] - (a[i] - a[j])
    // pref[i] - a[i] + a[j] - pref[j - 1];

    int mx = 0,res = 0;
    for(int i = 1;i <= n;i++) {
        mx = max(mx,st[i].first - pref[i - 1]);
        res = max(res,pref[i] - st[i].first + mx);
    }
    cout<<res<<endl;

    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...