Submission #1265453

#TimeUsernameProblemLanguageResultExecution timeMemory
1265453canhnam357쌀 창고 (IOI11_ricehub)C++20
100 / 100
15 ms1920 KiB
#include <bits/stdc++.h> #include "ricehub.h" using namespace std; int besthub(int R, int L, int X[], long long B) { sort(X, X + R); vector<long long> pre(R + 1); for (int i = 1; i <= R; i++) { pre[i] = pre[i - 1] + X[i - 1]; } auto get_left = [&](int l, int r, int p) { long long k = r - l + 1; return k * X[p] - pre[r] + pre[l - 1]; }; auto get_right = [&](int l, int r, int p) { long long k = r - l + 1; return pre[r] - pre[l - 1] - k * X[p]; }; int l = 1, r = R + 1; while (r - l > 1) { int m = (l + r) >> 1; int ok = 0; for (int i = 1; i + m - 1 <= R && !ok; i++) { int le = i, ri = i + m - 1; int mid = (le + ri) >> 1; if (get_left(le, mid, mid) + get_right(mid + 1, ri, mid) <= B) { ok = 1; } } if (ok) l = m; else r = m; } return l; } // int main() // { // ios_base::sync_with_stdio(0); // cin.tie(0); // int R, L; // long long B; // cin >> R >> L >> B; // int X[R]; // for (int i = 0; i < R; i++) cin >> X[i]; // cout << besthub(R, L, X, B); // return 0; // }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...