Submission #1322711

#TimeUsernameProblemLanguageResultExecution timeMemory
1322711nikaa123Rice Hub (IOI11_ricehub)C++20
0 / 100
0 ms332 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; int besthub(int n, int L, int X[], long long lim) { int a[n+5]; for (int i = 0; i < n; i++) a[i+1] = X[i]; long long pref[n+5]; pref[0] = 0; for (int i = 1; i <= n; i++) pref[i] = pref[i-1] + a[i]; auto get = [&](int l, int r) { int m = (l+r)/2; long long suml = pref[m]-pref[l-1]; int numl = m-l+1; long long sumr = pref[r]-pref[m]; int numr = r-m; long long res = (numl*m - suml) + (sumr - numr*m); return res; }; int ansl = -1; int ansr = -1; for (int i = 1; i <= n; i++){ int l = i; int r = n; int id = -1; while (l <= r) { int mid = (l+r)/2; if (get(i,mid) <= lim) { id = mid; l = mid + 1; } else { r = mid - 1; } } if (ansr - ansl <= id - i) { ansr = id; ansl = i; } } int pos = (ansl+ansr)/2; return a[pos]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...