#include "ricehub.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
constexpr int M = 100'005;
ll tab[M];
ll pref[M];
ll suma(int l, int r){
return pref[r] - pref[l-1];
}
int besthub(int n, int L, int X[], long long B){
for(int i=1; i<=n; i++) tab[i] = X[i-1];
for(int i=1; i<=n; i++) pref[i] = pref[i-1] + tab[i];
ll l = 1;
ll wynik = 0;
for(ll r=1; r<=n; r++){
int mid = (l + r) / 2;
ll koszt = tab[mid] * (mid - l + 1) - suma(l+1, mid) - tab[l];
koszt += suma(mid+1, r) - tab[mid] * (r - mid);
while(l < r && koszt > B){
l++;
koszt = tab[mid] * (mid - l + 1) - suma(l+1, mid) - tab[l];
koszt += suma(mid+1, r) - tab[mid] * (r - mid);
}
wynik = max(wynik, r - l + 1);
}
return wynik;
}
# | 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... |