# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1216947 | nataliaa | Rice Hub (IOI11_ricehub) | C++20 | 0 ms | 0 KiB |
#include "ricehub.h"
#include<bits/stdc++.h>
using namespace std;
int besthub(int R, int L, int X[], long long B)
{
long long ans = 0;
int l = 0, r = R;
while(l<=r) {
int m = (l+r)/2;
bool t = 0;
for(int i = 0; i < R ; i++) {
if(i+m<=R) {
int cnt = 0;
int k = (m+1)/2;
for(int j = i; j< i+m; j++) {
cnt+=abs(X[j] - X[i+k-1]);
}
if(cnt<=B) {
t=1;
break;
}
}
else break;
}
if(t) l = m+1;
else r= m-1;
}
return r;
}
int main() {
int r, l;
cin >> r >> l;
int x[r];
for(int i = 0; i < r ; i++ ) cin >> x[i];
int b;
cin >> b;
cout << besthub(r, l , x, b);
}