Submission #77125

#TimeUsernameProblemLanguageResultExecution timeMemory
77125VardanyanArt Exhibition (JOI18_art)C++14
100 / 100
299 ms212960 KiB
#include <bits/stdc++.h> using namespace std; const int N = 500*1000+7; pair<long long,long long> a[N]; long long pref[N]; int main(){ int n; scanf("%d",&n); for(int i = 1;i<=n;i++){ scanf("%lld%lld",&a[i].first,&a[i].second); } sort(a+1,a+1+n); long long ans = 0; long long mxdif = -1000000000000005; long long s = 0; for(int i = 1;i<=n;i++){ pref[i] = pref[i-1]+a[i].second; s+=a[i].second; long long u = s-(a[i].first-a[1].first); ans = max(ans,u); mxdif = max(mxdif,(a[i].first-a[1].first)-pref[i-1]); u+=mxdif; ans = max(ans,u); //cout<<mxdif<<endl; } printf("%lld\n",ans); return 0; }

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:8:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&n);
     ~~~~~^~~~~~~~~
art.cpp:10:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
             scanf("%lld%lld",&a[i].first,&a[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...