Submission #220624

#TimeUsernameProblemLanguageResultExecution timeMemory
220624Coroian_DavidArt Exhibition (JOI18_art)C++11
100 / 100
291 ms24824 KiB
#include <iostream>
#include <algorithm>

#define MAX_N 500000

#define xx first
#define yy second

using namespace std;

typedef long long lint;

const lint sqrInf = (lint)(1e18) - 1;

int n;
pair <lint, lint> v[MAX_N + 1];

lint rez;
lint s[MAX_N + 1];

void readFile()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    cin >> n;
    for(int i = 1; i <= n; i ++)
        cin >> v[i].xx >> v[i].yy;
}

void solve()
{
    sort(v + 1, v + n + 1);

    lint mx = -sqrInf;
    for(int i = 1; i <= n; i ++)
    {
        rez = max(rez, v[i].yy);

        s[i] = s[i - 1] + v[i].yy;

        rez = max(rez, mx - v[i].xx + s[i]);
        mx = max(mx, v[i].xx - s[i - 1]);
    }
}

void printFile()
{
    cout << rez << "\n";
}

int main()
{
    readFile();

    solve();

    printFile();

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