Submission #1200604

#TimeUsernameProblemLanguageResultExecution timeMemory
1200604crispxxRice Hub (IOI11_ricehub)C++20
68 / 100
11 ms1348 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define pb push_back #define ar array #define nl '\n' // #include "grader.cpp" int besthub(int n, int l, int x[], long long B) { vector<int> pref(n + 1); vector<int> a(n + 1); for(int i = 0; i < n; i++) { a[i + 1] = x[i]; pref[i + 1] = pref[i] + x[i]; } auto sum = [&](int l, int r) { if(l > r) return 0; return pref[r] - pref[l - 1]; }; int ans = 0; for(int i = 1; i <= n; i++) { int l = i, r = n; while(l < r) { int mid = (l + r + 1) >> 1; int j = (i + mid) >> 1; int cost = a[j] * (j - i) - sum(i, j - 1) + sum(j + 1, mid) - a[j] * (mid - j); if(cost <= B) { l = mid; } else { r = mid - 1; } } ans = max(ans, r - i + 1); } 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...