#include "ricehub.h"
#include <bits/stdc++.h>
#define FOR(i,a,b) for (int i = (a); i<=(b); i++)
using namespace std;
using ll = long long;
int n, L;
ll budget;
const int maxn = 1e5+5;
ll a[maxn], prefixSum[maxn];
bool check(int x)
{
FOR(i, 1, n-x+1)
{
int mid = i+((x+1)/2)-1;
ll cost = prefixSum[i+x-1]-prefixSum[mid] + prefixSum[mid]-prefixSum[i-1];
if (x&1) cost-=a[mid];
if (cost <= budget) return true;
}
return false;
}
int besthub(int R, int _L, int X[], long long B)
{
n = R; L = _L; budget = B;
FOR(i, 1, n)
{
a[i] = X[i-1];
prefixSum[i] = prefixSum[i-1]+a[i];
}
int l = 1, r = n, res = -1;
while (l<=r)
{
int mid = (l+r)>>1;
if (check(mid))
{
res = mid;
l = mid+1;
}
else r = mid-1;
}
return res;
}
| # | 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... |