Submission #101108

#TimeUsernameProblemLanguageResultExecution timeMemory
101108ansol4328Rice Hub (IOI11_ricehub)C++11
100 / 100
24 ms2560 KiB
#include<stdio.h> typedef long long ll; int n; ll b; ll m[100005]; bool pos(int del) { int cnt=n-del; int hcnt=cnt/2; ll d=0; for(int i=1 ; i<=cnt/2 ; i++) d+=m[cnt-i+1]-m[i]; if(d<=b) return true; for(int i=1 ; i<=n-cnt ; i++) { int didx=i, aidx=i+cnt; d-=m[didx+hcnt]-m[didx]; d+=m[aidx]-m[aidx-hcnt]; if(d<=b) return true; } return false; } int besthub(int R, int L, int *X, long long B) { for(int i=1 ; i<=R ; i++) m[i]=(ll)X[i-1]; n=R, b=B; int st=0, fn=R, mid, res; while(st<=fn) { mid=(st+fn)>>1; if(pos(mid)) fn=mid-1, res=mid; else st=mid+1; } return R-res; }

Compilation message (stderr)

ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:37:14: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
     return R-res;
              ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...