Submission #45127

#TimeUsernameProblemLanguageResultExecution timeMemory
45127PajarajaArt Exhibition (JOI18_art)C++17
50 / 100
1082 ms66344 KiB
#include <bits/stdc++.h> using namespace std; pair<long long,long long> a[500007]; map<long long,long long> m; set<long long> s; int main() { int n,cnt=0; scanf("%d",&n); for(int i=0;i<n;i++) { long long t1,t2; scanf("%lld%lld",&t1,&t2); m[t1]+=t2; s.insert(t1); } while(s.size()>0) { long long t=*s.begin(); a[cnt].first=t; a[cnt++].second=m[t]; s.erase(t); } sort(a,a+cnt); long long sum=0,sol=-1000000000000000000LL,minn=1000000000000000000LL; for(int i=0;i<cnt;i++) { minn=fmin(minn,-a[i].first+sum); sum+=a[i].second; sol=fmax(sol,sum-a[i].first-minn); } printf("%lld",sol); }

Compilation message (stderr)

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