제출 #753284

#제출 시각아이디문제언어결과실행 시간메모리
753284acceptify쌀 창고 (IOI11_ricehub)C++17
68 / 100
13 ms2508 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; int besthub(int R, int L, int X[], long long B){ long long ps[R]; for (int i = 0; i < R; i++) ps[i] = X[i] + (i ? ps[i - 1] : 0); auto calc = [&] (int l, int r, int p) -> long long { long long sum = 0; sum += X[p] * (p - l + 1) - ps[p] + (l ? ps[l - 1] : 0); sum += ps[r] - ps[p] - X[p] * (r - p); return sum; }; int l = 0, r = R, res = 0; while (l <= r) { int mid = (l + r) / 2; long long cost = 1e18; for (int i = 0; i + mid - 1 < R; i++) { int p = (i + i + mid - 1) / 2; cost = min({cost, calc(i, i + mid - 1, p), calc(i, i + mid - 1, p + 1)}); } if (cost <= B) l = mid + 1, res = mid; else r = mid - 1; } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...