Submission #1139727

#TimeUsernameProblemLanguageResultExecution timeMemory
1139727stanraresSwimming competition (LMIO18_plaukimo_varzybos)C++20
10 / 100
252 ms4328 KiB
#include <bits/stdc++.h> using namespace std; #define NMAX 1000005 #define ll long long int v[NMAX], n, a, b; bool check(int x) { int groups = 0, start = 0; for (int i = 0; i < n; i++) { if (v[i] - v[start] > x || i - start + 1 > b) { if (i - start < a) return false; groups++; start = i; } } if (n - start < a) return false; groups++; return groups <= (n / a); } int main() { cin >> n >> a >> b; for (int i = 0; i < n; i++) cin >> v[i]; sort(v, v + n); int left = 0, right = v[n - 1] - v[0], ans = right; while (left <= right) { int mid = left + (right - left) / 2; if (check(mid)) { ans = mid; right = mid - 1; } else { left = mid + 1; } } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...