제출 #285733

#제출 시각아이디문제언어결과실행 시간메모리
285733peijarRice Hub (IOI11_ricehub)C++17
100 / 100
24 ms3328 KiB
#include <bits/stdc++.h> using namespace std; #define SZ(v) ((int)(v).size()) using ll = long long; const int MAXN = 1e5+1; ll prefixSum[MAXN]; ll cntFields, maxCor, budget; ll cor[MAXN]; ll getCost(int l, int r) { int mid = (l+r)/2; ll cost = (2*mid-l-r) * cor[mid] + prefixSum[r+1] + prefixSum[l] - prefixSum[mid] - prefixSum[mid+1]; return cost; } bool can(int want) { for (int i(0); i + want <= cntFields; ++i) if (getCost(i, i+want-1) <= budget) return true; return false; } int besthub(int c, int m, int co[], ll b) { budget = b; cntFields = c; maxCor = m; for (int i(0); i < cntFields; ++i) cor[i] = co[i]; for (int i(0); i < cntFields; ++i) prefixSum[i+1] = prefixSum[i] + cor[i]; int lo(0), up(cntFields); while (lo < up) { int mid = (lo+up+1)/2; if (can(mid)) lo = mid; else up = mid-1; } return lo; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...