Submission #1318739

#TimeUsernameProblemLanguageResultExecution timeMemory
1318739AgageldiRice Hub (IOI11_ricehub)C++20
68 / 100
10 ms2476 KiB
#include "bits/stdc++.h" #include "ricehub.h" // #include "grader.cpp" using namespace std; long long p[500005]; vector <long long> v = {0}; int besthub(int R, int L, int X[], long long B) { for(int i = 0; i < R; i++) { v.push_back(X[i]); } int l = 1, r = R, ans = 0; for(int i = 1; i <= R; i++) { p[i] = p[i - 1] + v[i]; } while(l <= r) { long long mid = (l + r) / 2, ok = 0; for(int i = 1; i <= R; i++) { if(i >= mid) { int l = i - mid + 1; int r = i; int med = (l + r) / 2; // i - mid + 1 ... med // med + 1 ... i int sm = (p[r] - p[med]) - (v[med] * (r - med)); int sm1 = (v[med] * (med - l + 1)) - (p[med] - p[l - 1]); if(sm1 + sm <= B) { ok = 1; break; } } } if(ok) { l = mid + 1; ans = mid; } else r = mid - 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...