Submission #1259978

#TimeUsernameProblemLanguageResultExecution timeMemory
1259978kawhietRice Hub (IOI11_ricehub)C++20
100 / 100
8 ms1096 KiB
#include "ricehub.h" #include <bits/stdc++.h> using namespace std; int besthub(int n, int m, int arr[], long long k) { vector<int> a(n); for (int i = 0; i < n; i++) { a[i] = arr[i] - arr[0]; } auto good = [&](int x) { int l = 0, r = x - 1, m = (l + r) / 2; long long cur = 0; for (int i = l; i <= r; i++) { cur += abs(a[i] - a[m]); } if (cur <= k) { return true; } while (r + 1 < n) { l++; r++; m++; cur = cur + (x % 2 == 0 ? 0 : (a[m] - a[m - 1])) + (a[r] - a[m]) - (a[m] - a[l - 1]); if (cur <= k) { return true; } } return false; }; int l = 1, r = n + 1; while (l + 1 < r) { int m = (l + r) / 2; if (good(m)) { l = m; } else { r = m; } } return l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...