Submission #470622

#TimeUsernameProblemLanguageResultExecution timeMemory
470622zxcvbnmMobile (BOI12_mobile)C++14
90 / 100
1097 ms40772 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; struct P { ld x, y; }; vector<P> a; int n, L; bool ok(ld r) { ld curr = 0; for(int i = 0; i < n; i++) { if (r * r < a[i].y * a[i].y) continue; ld sol = sqrt(r * r - a[i].y * a[i].y); ld left = max((ld) 0, a[i].x - sol); ld right = min((ld) L, a[i].x + sol); if (left <= curr) { curr = max(curr, right); } } return curr >= L; } signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> n >> L; a.resize(n); for(auto& i : a) { cin >> i.x >> i.y; } ld l = 0, r = 1e9; ld ans = r; for(int rep = 0; rep < 40; rep++) { ld mid = (l + r) / 2; // cout << mid << "\n"; if (ok(mid)) { r = mid; ans = mid; } else { l = mid; } } cout << fixed << setprecision(6) << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...