#include "bits/stdc++.h"
#include "ricehub.h"
// #include "grader.cpp"
using namespace std;
int p[500005];
vector <int> v = {0};
int besthub(int R, int L, int X[], long long B) {
for(int i = 0; i < R; i++) {
v.push_back(X[i]);
}
int l = 1, r = R, ans = 0;
for(int i = 1; i <= R; i++) {
p[i] = p[i - 1] + v[i];
}
while(l <= r) {
long long mid = (l + r) / 2, ok = 0;
for(int i = 1; i <= R; i++) {
if(i >= mid) {
int l = i - mid + 1;
int r = i;
int med = (l + r) / 2;
// i-mid + 1 ... med
// med + 1 ... i
int sm = (p[r] - p[med]) - (v[med] * (r - med));
int sm1 = v[med] * (mid - l + 1) - (p[med] - p[l - 1]);
if(sm1 + sm <= B) {
ok = 1;
break;
}
}
}
if(ok) {
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... |