Submission #46498

#TimeUsernameProblemLanguageResultExecution timeMemory
46498luciocfArt Exhibition (JOI18_art)C++14
100 / 100
326 ms12792 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int MAXN = 500010;
const ll INF = 1e16+10;

pair<ll, ll> num[MAXN];
ll soma[MAXN];

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(0);
    int n;
    cin >> n;

    for (int i = 1; i <= n; i++)
        cin >> num[i].first >> num[i].second;
    sort(num+1, num+n+1);

    for (int i = 1; i <= n; i++)
        soma[i] = soma[i-1]+num[i].second;

    ll ans = -INF;

    /*for (int i = 1; i <= n; i++)
    {
        ans = max(ans, num[i].second);
        for (int j = i-1; j >= 1; j--)
            ans = max(ans, soma[i]-soma[j-1]-num[i].first+num[j].first);
    }*/

    ll aux = -INF;
    int pos = 1;
    for (int i = 1; i <= n; i++)
    {
        if (num[i].second > soma[i]-soma[pos-1]-num[i].first+num[pos].first)
            ans = max(ans, num[i].second), pos = i;
        else
            ans = max(ans, soma[i]-soma[pos-1]-num[i].first+num[pos].first);
    }
    cout << ans << "\n";
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:35:8: warning: unused variable 'aux' [-Wunused-variable]
     ll aux = -INF;
        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...