제출 #1139751

#제출 시각아이디문제언어결과실행 시간메모리
1139751adelinaSwimming competition (LMIO18_plaukimo_varzybos)C++20
0 / 100
0 ms324 KiB
#include <iostream> #include <algorithm> #include <vector> using namespace std; const int Nmax = 1e6 + 5; int v[Nmax]; int n, a, b; bool ok(int dif) { int st = 1, dr = 1; //cout << dif << ": " << '\n'; while(dr <= n) { if(v[dr] - v[st] > dif) { if(dr - st + 1 < a) return false; st = dr; } if(dr - st + 1 == b) st = dr; //cout << st << " " << dr << '\n'; dr ++; } dr --; if(dr - st + 1 < a || v[dr] - v[st] > dif) return false; return true; } int main() { int i, st, dr, mid, ans = 0; cin >> n >> a >> b; for(i = 1; i <= n; i ++) cin >> v[i]; sort(v + 1, v + n + 1); st = 1; dr = v[n] - v[1]; while(st <= dr) { mid = (st + dr) / 2;//dif maxima if(ok(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...