Submission #1147266

#TimeUsernameProblemLanguageResultExecution timeMemory
1147266AlgorithmWarriorArt Exhibition (JOI18_art)C++20
100 / 100
352 ms8240 KiB
#include <bits/stdc++.h>

using namespace std;

int const MAX=5e5+5;
struct art{
    long long val;
    long long sz;
    bool operator<(art ot){
        return sz<ot.sz;
    }
}v[MAX];
int n;

void read(){
    cin>>n;
    int i;
    for(i=1;i<=n;++i)
        cin>>v[i].sz>>v[i].val;
    sort(v+1,v+n+1);
}

void maxself(long long& x,long long val){
    if(x<val)
        x=val;
}

long long solve(){
    int i;
    long long rasp=v[1].val;
    long long act=v[1].val;
    for(i=2;i<=n;++i){
        act=max(act+v[i].val-v[i].sz+v[i-1].sz,v[i].val);
        maxself(rasp,act);
    }
    return rasp;
}

void write(long long ans){
    cout<<ans;
}

int main()
{
    read();
    write(solve());
    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...