Submission #50710

#TimeUsernameProblemLanguageResultExecution timeMemory
50710gnoorArt Exhibition (JOI18_art)C++17
100 / 100
371 ms16392 KiB
#include <cstdio> #include <map> #include <algorithm> #include <vector> using namespace std; long long sz[500100]; long long val[500100]; int main () { int n; scanf("%d",&n); long long a,b; vector<pair<long long,long long>> tbl; tbl.reserve(n); for (int i=0;i<n;i++) { scanf("%lld%lld",&a,&b); tbl.push_back({a,b}); } sort(tbl.begin(),tbl.end()); int nn=0; sz[0]=tbl[0].first; val[0]=tbl[0].second; for (int i=1;i<(int)tbl.size();i++) { if (tbl[i].first!=sz[nn]) { nn++; sz[nn]=tbl[i].first; } val[nn]+=tbl[i].second; } nn++; for (int i=1;i<nn;i++) { val[i]+=val[i-1]; } long long mnn=-sz[0]; long long ans=0; for (int i=0;i<nn;i++) { ans=max(ans,val[i]-sz[i]-mnn); mnn=min(mnn,val[i]-sz[i+1]); } printf("%lld\n",ans); return 0; }

Compilation message (stderr)

art.cpp: In function 'int main()':
art.cpp:13:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
art.cpp:18:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld%lld",&a,&b);
   ~~~~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...