Submission #96299

#TimeUsernameProblemLanguageResultExecution timeMemory
96299figter001Rice Hub (IOI11_ricehub)C++14
100 / 100
51 ms2556 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxr = 1e5+50; ll sum[maxr]; int besthub(int r, int L, int x[], long long B){ int ans = 0; sum[0] = x[0]; for(int i=1;i<r;i++) sum[i] = sum[i-1] + x[i]; for(int i=0;i<r;i++){ int md,lo=i,hi=r-1,best; ll rem = 0; if(i)rem = sum[i-1]; while(lo <= hi){ md = (lo+hi)/2; int at = (i+md)/2; ll lf = x[at] * (at - i + 1) - (sum[at] - rem); ll rem2 = 0; if(at)rem2 = sum[at-1]; ll ri = (sum[md] - rem2) - x[at] * (md-at+1); if(ri + lf <= B){ lo = md+1; best = md; }else hi = md-1; } ans = max(ans,best - i + 1); } return ans; }

Compilation message (stderr)

ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:32:22: warning: 'best' may be used uninitialized in this function [-Wmaybe-uninitialized]
   ans = max(ans,best - i + 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...