#include "ricehub.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int besthub(int N, int L, int X[], long long B) {
vector<ll> a(N+1), p(N+1);
for (int i = 1; i <= N; i++) a[i] = X[i-1];
for (int i = 1; i <= N; i++) p[i] = p[i-1] + a[i];
int l = 0, r = N;
while (l < r) {
int mid = (l + r + 1) / 2, idx = -1;
int c1 = (mid - 1) / 2, c2 = mid / 2;
ll cost = LLONG_MAX;
for (int i = 1; i + mid - 1 <= N; i++) {
ll md = (a[i+c1] + a[i+c2]) / 2;
// [i, i+c1], [i+c1, i+mid-1];
ll ls = p[i+c1] - p[i-1];
ll rs = p[i+mid-1] - p[i+c1];
ll c = 1LL * (c1+1) * md - ls - 1LL * (mid-c1-1) * md + rs;
cost = min(cost, c);
}
if (cost > B) r = mid - 1;
else l = mid;
}
return l;
}