#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... |