#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int besthub (int n, int L, int a[], ll B) {
int l=0,idx=0,ans=0;
ll pref[n]={};
for(int i=0;i<n;i++)pref[i+1]=pref[i]+a[i];
for(int r=0;r<n;r++){
ll mid=(l+r)/2;
ll left_sum=(ll)a[mid]*(mid-l)-(pref[mid]-pref[l]);
ll right_sum=(pref[r+1]-pref[mid+1])-(ll)a[mid]*(r-mid);
ll dist =left_sum+right_sum;
while(dist>B){
l++;
mid=(l+r)/2;
left_sum=(ll)a[mid]*(mid-l)-(pref[mid]-pref[l]);
right_sum=(pref[r+1]-pref[mid+1])-(ll)a[mid]*(r-mid);
dist=left_sum+right_sum;
}
ans=max(ans,r-l+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... |