#include <bits/stdc++.h>
#include "ricehub.h"
using ll = long long;
using namespace std;
ll qs[100005];
int besthub(int n, int m, int x[], ll b){
for(int i=n; i>=1; i--)x[i]=x[i-1];
for(int i=1; i<=n; i++)qs[i]=qs[i-1]+x[i];
ll l=1, r=n, mid, ans;
while(l<=r){
mid=(l+r)/2;
ll minfuckingbudget=1e18;
for(int i=1; i<=n-mid+1; i++){
ll median=(i+i+mid-1)/2;
minfuckingbudget=min(minfuckingbudget, (median-i+1)*x[median]-(qs[median]-qs[i-1])+qs[i+mid-1]-qs[median]-x[median]*(i+mid-1-median));
}
if(minfuckingbudget<=b)l=mid+1, ans=mid;
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... |