This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
int besthub(int R, int L, int X[], ll B) {
vector <ll> arr(R + 1, 0), p(R + 1, 0), pr(R + 2, 0);
for (int i = 0; i < R; ++i) {
arr[i + 1] = X[i];
}
for (ll i = 1; i <= R; ++i) {
p[i] = (arr[i] - arr[i - 1]) * (i - 1) + p[i - 1];
}
for (ll i = R; i > 0; i--) {
pr[i] = (arr[i + 1] - arr[i]) * (R - i) + pr[i + 1];
}
ll l = 1, r = 1, jogap = 1;
while (l <= R and r <= R) {
ll md = (l + r + 1) / 2;
ll sum = p[md] - p[l - 1] - ((l - 1) * (arr[md] - arr[l - 1]));
ll sum1 = pr[md] - pr[r + 1] - ((R - r) * (arr[r + 1] - arr[md])); // yalnysh su
ll sum2 = sum + sum1;
if (sum2 <= B) {
r++;
}
else {
// l r -1
jogap = max (jogap, r - l);
l++;
}
}
jogap = max (jogap, r - l);
return jogap;
}
# | 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... |