이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#include "ricehub.h"
/// #pragma GCC optimize ("Ofast")
/// #pragma GCC target ("avx2")
using namespace std;
using ll = long long;
using ii = pair<ll, ll>;
#define ff first
#define ss second
#define pb push_back
const int MOD = 1e9 + 7;
int besthub(int R, int L, int X[], long long B) {
int res = 0; vector<ll> pref(R, 0);
for(int l = 0; l < R; l++) {
pref[l] = X[l];
if(l) pref[l] += pref[l - 1];
}
for(int l = 0; l < R; l++) {
int curr = 1;
int lo = l, hi = R - 1;
while(lo <= hi) {
int md = (lo + hi) / 2; int d = (md + l) / 2;
ll m = X[d];
ll calc = m * (d - l + 1) - 2 * pref[d] - m * (md - d) + pref[md];
if(l) calc += pref[l - 1];
if(calc <= B) lo = md + 1, curr = max(curr, md - l + 1);
else hi = md - 1;
}
res = max(res, curr);
}
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... |