Submission #1330994

#TimeUsernameProblemLanguageResultExecution timeMemory
1330994backArt Exhibition (JOI18_art)C++20
100 / 100
141 ms27872 KiB
#include<bits/stdc++.h>
#define int long long
#define pii pair<int, int>
#define se second
#define fi first

using namespace std;
const int N = 1e6 + 5;
const int MAXN = LLONG_MAX;
const int mod = 1e9 + 7;
int prf[N], n, dem=0, prf1[N], c[N], mink[N], ans[N], b[N];
int pr[N];
int snt[N];
pii a[N];

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    cin >> n;
    for (int i=1; i<=n; ++i) {
        cin >> a[i].fi >> a[i].se;
    }
    sort(a+1, a+n+1);
    int sol=0;
    mink[0]=-a[1].fi;
    prf[0]=0;

    for (int i=1; i<=n; ++i) {
        prf[i]=prf[i-1]+a[i].se;
        c[i]=prf[i]-a[i].fi;
        b[i]=prf[i-1]-a[i].fi;
        mink[i]=min(mink[i-1], b[i]);
        ans[i]=c[i]-mink[i];
        sol=max(sol, ans[i]);
    }
    cout << sol << "\n";

    /*for (int i=1; i<=n; ++i) {
        cout << c[i] << " " << b[i] << " " << mink[i] << " " << ans[i] << "\n";
    }


    mink[0]=0;
    prf[1]=a[1].se;
    mink[1]=a[1].
    ans[1]=a[1].se;
    for (int i=2; i<=n; ++i) {
        prf[i]=prf[i-1]+a[i].se;
        c[i]=prf[i]-a[i].fi;
        mink[i]=min(mink[i-1], c[i]);
        ans=max(ans, c[i]-mink[i]);
    }
    cout << ans;*/
}
/*
6
4 1
1 5
10 3
9 1
4 2
5 3

3
2 3
11 2
4 5
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...