Submission #113406

#TimeUsernameProblemLanguageResultExecution timeMemory
113406TadijaSebezSails (IOI07_sails)C++11
40 / 100
1085 ms1024 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int N=100050; int sum[N],cnt[N]; ll suf[N]; int main() { int n,h,k,mxh=0; scanf("%i",&n); for(int i=1;i<=n;i++) { scanf("%i %i",&h,&k); cnt[h]++; sum[h-k+1]++; sum[h+1]--; mxh=max(mxh,h); } for(int i=1;i<=mxh;i++) sum[i]+=sum[i-1]; while(1) { bool ok=0; for(int i=mxh-1;i>=1;i--) if(sum[i]<sum[i+1]) { int z=sum[i]+sum[i+1]; sum[i]=(z+1)/2; sum[i+1]=z/2; ok=1; } if(!ok) break; } ll ans=0; for(int i=1;i<=mxh;i++) ans+=(ll)sum[i]*(sum[i]-1)/2; /*for(int i=mxh;i>=1;i--) suf[i]=suf[i+1]+(ll)sum[i]*(sum[i]-1)/2; ll tmp=0,ans=suf[1]; for(int i=1;i<=mxh;i++) { tmp+=sum[i]; ll all=tmp/i,ost=tmp%i; ll now=suf[i+1]+(i-ost)*all*(all-1)/2+ost*all*(all+1)/2; ans=min(ans,now); }*/ printf("%lld\n",ans); return 0; }

Compilation message (stderr)

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