#include "ricehub.h"
#define min(a, b) ((a) < (b) ? (a) : (b))
using ll = long long;
const ll inf = 1e18;
ll qs[100005];
ll getsum(int l, int r) {
return qs[r+1] - qs[l];
}
int besthub(int R, int L, int X[], long long B) {
for(int i=0;i<R;i++) qs[i+1] = qs[i] + X[i];
int l = 1, r = R, mid;
while(l <= r) {
mid = (l+r) >> 1;
ll minbud = inf;
for(int i=0;i<R-mid+1;i++) {
minbud = min(minbud, getsum(i+(mid>>1), i+mid-1) - getsum(i, i+((mid-1)>>1)));
}
if(minbud <= B) l = mid+1;
else r = mid-1;
}
return r;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |