Submission #1140120

#TimeUsernameProblemLanguageResultExecution timeMemory
1140120andreifilimonSwimming competition (LMIO18_plaukimo_varzybos)C++20
0 / 100
0 ms324 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; bool is_valid(int n, const vector<int>& v, int max_diff, int a, int b) { int g, gstart; g = gstart = 0; for(int i = 0; i < n; i++) { if(v[i] - v[gstart] > max_diff) { if(i - gstart < a) return false; g++; gstart = i; } } if(n - gstart < a) return false; g++; return g <= (n + b - 1) / b; } int main() { int n, a, b; cin >> n >> a >> b; vector<int> v(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 - st) / 2; if(is_valid(n, v, mid, a, b)) { ans = mid; dr = mid - 1; } else { st = mid + 1; } } cout << ans << "\n"; 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...