# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1263306 | DeltaStruct | Rice Hub (IOI11_ricehub) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed besthub(int n,int m,int a[],int q){
vector<int> A(a,a+n); int ret = 0;
vector<int> B(1); for (int a:A) B.emplace_back(B.back()+a);
for (int i(0);i < n;++i){
auto f = [&](int x) -> int {
return (B[x+1]-B[(x+i)/2]-A[(x+i)/2]*(x+1-(x+i)/2)+A[(x+i)/2]*((x+i)/2-i)-B[(x+i)/2]+B[i])<=q;
};
int l = i,r = n,mid;
while(r-l>1){
if (f(mid = (l+r)/2)) l = mid;
else r = mid;
}
ret = max(ret,l-i+1);
}
return ret;
}