#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
int pre[200001];
int sum(int l,int r){
if(l>r) return 0;
if(l==0) return pre[r];
return pre[r]-pre[l-1];
}
int besthub(int R, int L, int X[], long long B)
{
for(int i=0;i<R;i++){
pre[i]=X[i];
if(i!=0) pre[i]+=pre[i-1];
}
int ans=0;
for(int i=0;i<R;i++){
int l=i,r=R-1;
while(l<=r){
int mid=(l+r)/2;
int pos=(l+mid)/2,val=X[pos],numl=pos-i,numr=mid-pos;
if((numl*val-sum(i,pos-1))+(sum(pos+1,mid)-numr*val)<=B){
ans=max(ans,mid-i+1);
l=mid+1;
}
else r=mid-1;
}
}
return ans;
}
# | 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... |