# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
121023 | 2019-06-26T03:12:30 Z | turbat | 쌀 창고 (IOI11_ricehub) | C++14 | 0 ms | 0 KB |
include <bits/stdc++.h> #include "ricehub.h" using namespace std; long long s[100005]; long long can(int l, int r){ int mid = (l + r) / 2; if ((r - l) % 2 == 1) return s[r] + s[l - 1] - s[mid] - s[mid - 1]; return s[r] + s[l - 1] - 2 * s[mid]; } int besthub(int R, int L, int X[], long long B){ int ans = 0; for (int i = 1;i <= R;i++) s[i] = s[i - 1] + X[i - 1]; for (int i = 1;i <= R;i++){ int l = i, r = R, mid; while (l != r){ mid = (l + r + 1) / 2; if (can(i, mid) <= B) l = mid; else r = mid - 1; } ans = max(ans, l - i + 1); } return ans; }