Submission #1233828

#TimeUsernameProblemLanguageResultExecution timeMemory
1233828joeyddMobile (BOI12_mobile)C++20
100 / 100
485 ms16092 KiB
#include <cmath> #include <iomanip> #include <iostream> using namespace std; static const int MAXN = 1000000; long long xs[MAXN], ys[MAXN]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; long long L; if (!(cin >> n >> L)) return 0; for (int i = 0; i < n; ++i) cin >> xs[i] >> ys[i]; double lo = 0, hi = 1.5e9; // binary-search radius for (int it = 0; it < 60; ++it) { // 2^-60 < 1e-18, enough precision double mid = (lo + hi) * 0.5, cover = 0; for (int i = 0; i < n && cover < L; ++i) { if (ys[i] > mid) continue; // circle doesn't reach highway double dx = sqrt(mid * mid - 1.0 * ys[i] * ys[i]); double left = xs[i] - dx, right = xs[i] + dx; if (left <= cover) cover = max(cover, right); } (cover >= L ? hi : lo) = mid; } cout << fixed << setprecision(4) << hi << '\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...
#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...