Submission #328210

#TimeUsernameProblemLanguageResultExecution timeMemory
328210MilosMilutinovicArt Exhibition (JOI18_art)C++14
100 / 100
338 ms48392 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
    int n;
    scanf("%i",&n);
    vector<pair<ll,ll>> v(n);
    for(int i=0;i<n;i++)scanf("%lld %lld",&v[i].first,&v[i].second);
    sort(v.begin(),v.end());
    ll pref[n];
    for(int i=0;i<n;i++){
        if(i==0)pref[i]=v[i].second;
        else pref[i]=pref[i-1]+v[i].second;
    }
    set<ll> s;
    ll ans=0;
    for(int i=n-1;i>=0;i--){
        s.insert(pref[i]-v[i].first);
        ll x=0;
        if(i>0)x=pref[i-1];
        ans=max(ans,*prev(s.end())-x+v[i].first);
    }
    printf("%lld",ans);
    return 0;
}

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:6:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    6 |     scanf("%i",&n);
      |     ~~~~~^~~~~~~~~
art.cpp:8:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    8 |     for(int i=0;i<n;i++)scanf("%lld %lld",&v[i].first,&v[i].second);
      |                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...