Submission #1309124

#TimeUsernameProblemLanguageResultExecution timeMemory
1309124nvc2k8Rice Hub (IOI11_ricehub)C++20
0 / 100
1 ms568 KiB
#include "ricehub.h" #include <bits/stdc++.h> #define FOR(i,a,b) for (int i = (a); i<=(b); i++) using namespace std; using ll = long long; int n, L; ll budget; const int maxn = 1e5+5; ll a[maxn], prefixSum[maxn]; bool check(int x) { FOR(i, 1, n-x+1) { int mid = i+((x+1)/2)-1; ll cost = prefixSum[i+x-1]-prefixSum[mid] + prefixSum[mid]-prefixSum[i-1]; if (x&1) cost-=a[mid]; if (cost <= budget) return true; } return false; } int besthub(int R, int _L, int X[], long long B) { n = R; L = _L; budget = B; FOR(i, 1, n) { a[i] = X[i-1]; prefixSum[i] = prefixSum[i-1]+a[i]; } int l = 1, r = n, res = -1; while (l<=r) { int mid = (l+r)>>1; if (check(mid)) { res = mid; l = mid+1; } 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...