제출 #895836

#제출 시각아이디문제언어결과실행 시간메모리
895836vjudge1쌀 창고 (IOI11_ricehub)C++17
68 / 100
15 ms4196 KiB
#include <bits/stdc++.h> #include "ricehub.h" using namespace std; typedef long long ll; ll r, l, x, b; vector<ll> pref; int check(int R, int L, int *fields, ll B) { int lo = L, hi = R; while (lo < hi){ int mid = (lo + hi + 1)/2; int k = (L + mid)/2; ll cost = fields[k - 1]*(k - L + 1) - (pref[k] - pref[L - 1]) +(pref[mid] - pref[k]) - (mid - k)*fields[k-1]; if (cost > B) { hi = mid - 1; } else { lo = mid; } } return lo - L + 1; } int besthub(int R, int L, int fields[], ll B) { pref.resize(R + 1); for(int i = 0; i < R; i++){ pref[i+1] += pref[i]; pref[i+1] += fields[i]; } int ans = INT_MIN; for (int i = 1; i <= R; i++) { ans = max(ans, check(R, i, fields, B)); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...