Submission #680125

#TimeUsernameProblemLanguageResultExecution timeMemory
680125ocarimaArt Exhibition (JOI18_art)C++14
0 / 100
0 ms212 KiB
#include <iostream>
#include <bits/stdc++.h>

using namespace std;

#define lli long long int
#define rep(i,a,b) for(lli i = (a); i <= (b); ++i)
#define repa(i,a,b) for(lli i = (a); i >= (b); --i)
#define nl "\n"

#define MAX 500000

#define tam first
#define belleza second

lli n, res, s;
pair<lli, lli> arbol[MAX + 2];
lli acu[MAX + 2], maximo[MAX + 2];


int main()
{
    cin >> n;
    rep(i, 1, n) cin >> arbol[i].tam >> arbol[i].belleza;
    sort(arbol + 1, arbol + 1 + n);

    rep(i, 1, n) acu[i] = arbol[i].belleza + acu[i - 1];
    repa(i, n, 1) maximo[i] = max(maximo[i + 1], acu[i] - arbol[i].tam);

    rep(a, 1, n){
        s = arbol[a].tam - acu[a - 1];
        res = max(res, maximo[a] + s);
    }

    cout << res << nl;

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