제출 #59274

#제출 시각아이디문제언어결과실행 시간메모리
59274TadijaSebez쌀 창고 (IOI11_ricehub)C++11
100 / 100
35 ms16616 KiB
#include "ricehub.h" #include <stdio.h> #define ll long long const int N=100050; ll sum[N]; int x[N]; ll get(int l, int r){ return sum[r]-sum[l-1];} int besthub(int n, int l, int X[], ll b) { int i; for(i=1;i<=n;i++) x[i]=X[i-1],sum[i]=sum[i-1]+x[i]; int top=n,bot=1,mid,ans=1; while(top>=bot) { mid=top+bot>>1; bool ok=0; for(i=mid;i<=n;i++) { int L=i-mid+1; int R=i; int M=L+R>>1; ll cost=(ll)(M-L+1)*x[M]-get(L,M); cost+=get(M,R)-(ll)(R-M+1)*x[M]; if(cost<=b){ ok=1;break;} } if(ok) ans=mid,bot=mid+1; else top=mid-1; } return ans; } /*int X[N]; int main() { int n,l,i;ll b; scanf("%i %i %lld",&n,&l,&b); for(i=0;i<n;i++) scanf("%i",&X[i]); printf("%i\n",besthub(n,l,X,b)); return 0; }*/

컴파일 시 표준 에러 (stderr) 메시지

ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:15:10: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   mid=top+bot>>1;
       ~~~^~~~
ricehub.cpp:21:11: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
    int M=L+R>>1;
          ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...