Submission #113405

#TimeUsernameProblemLanguageResultExecution timeMemory
113405TadijaSebezSails (IOI07_sails)C++11
30 / 100
1083 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]) sum[i]++,sum[i+1]--,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...