#include "ricehub.h"
const int N=1e5+5;
int n;
long long b;
int a[N];
long long psum[N];
long long calc(int l,int r){
int m=(l+r)/2;
return ((psum[r]-psum[m])-1LL*a[m]*(r-m))+(1LL*a[m]*(m-l)-(psum[m-1]-psum[l-1]));
}
bool check(int mid){
for(int l=1,r=mid;r<=n;l++,r++){
if(calc(l,r)<=b)return true;
}
return false;
}
int besthub(int R, int L, int X[], long long B)
{
n=R;
b=B;
for(int i=0;i<n;i++){
a[i+1]=X[i];
}
for(int i=1;i<=n;i++){
psum[i]=psum[i-1]+a[i];
}
int l=0,r=n;
while(l<r){
int mid=(l+r+1)/2;
if(check(mid))l=mid;
else r=mid-1;
}
return l;
}