Submission #170437

#TimeUsernameProblemLanguageResultExecution timeMemory
170437nafis_shifatRice Hub (IOI11_ricehub)C++14
100 / 100
29 ms3448 KiB
#include "ricehub.h" #include<bits/stdc++.h> #define ll long long using namespace std; const int mxn=1e5+5; const ll inf=2e15+5; ll ar[mxn]; int besthub(int R, int L, int X[], long long B) { ll tot[mxn]; tot[0]=0; for(int i=1;i<=R;i++) { ar[i]=X[i-1]; tot[i]=tot[i-1]+ar[i]; } int ans=0; for(int i=1;i<=R;i++) { int lo=i; int hi=R; while(lo<=hi) { int mid=lo+hi>>1; int k=i+mid>>1; ll ts=(ar[k]*(k-i+1))-(tot[k]-tot[i-1]); ts+=(tot[mid]-tot[k])-ar[k]*(mid-k); if(ts<=B) { ans=max(ans,mid-i+1); lo=mid+1; } else { hi=mid-1; } } } return ans; }

Compilation message (stderr)

ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:31:14: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
    int mid=lo+hi>>1;
            ~~^~~
ricehub.cpp:33:11: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
    int k=i+mid>>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...