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