Submission #202950

#TimeUsernameProblemLanguageResultExecution timeMemory
202950uzumixArt Exhibition (JOI18_art)C++14
100 / 100
235 ms16876 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);


    int n;

    vector<pair<long long,long long >> v;

    cin >> n;

    for(int i = 0 ; i < n ; i++)
    {

        long long a , b;

        cin >> a >> b;

        v.push_back({a,b});
    }


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


    long long prefSum[n+1];

    prefSum[0] = 0;

    for(int i = 0; i <= n ; i++)
    {
        prefSum[i+1] = prefSum[i] + v[i].second;
    }

    long long lBest[n];

    lBest[0] = v[0].first;


    for(int i = 1 ; i < n ; i++)
    {
        lBest[i] = max(lBest[i-1] , v[i].first-prefSum[i] );
    }

    long long best = LLONG_MIN;

    for(int i = 0 ; i < n ; i++)
    {
        best = max(lBest[i]+prefSum[i+1] - v[i].first, best );
    }


    cout << best;


}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...