Submission #1140147

#TimeUsernameProblemLanguageResultExecution timeMemory
1140147andreifilimonSwimming competition (LMIO18_plaukimo_varzybos)C++20
10 / 100
245 ms4328 KiB
#include <bits/stdc++.h> using namespace std; int n, a, b;; vector<int> v; bool isValid(int d) { int i = 0; while(i < n) { int endd = i + a - 1; if(endd >= n || v[endd] - v[i] > d) return false; int j = endd; while(j + 1 < n && j + 1 < i + b && v[j + 1] - v[i] <= d) j++; i = j + 1; } return true; } int main() { cin >> n >> a >> b; v.resize(n); for(int i = 0; i < n; i++) cin >> v[i]; sort(v.begin(), v.end()); int st, dr, mid, ans; st = 0, dr = ans = v[n - 1] - v[0]; while(st <= dr) { mid = (st + dr) / 2; if(isValid(mid)) { ans = mid; dr = mid - 1; } else { st = 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...