Submission #1233827

#TimeUsernameProblemLanguageResultExecution timeMemory
1233827joeyddMobile (BOI12_mobile)C++20
0 / 100
1096 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 l = 0, r = 1.5e9; // binary-search radius while (l < r) { // 2^-60 < 1e-18, enough precision double mid = (l + r) * 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 ? r : l) = mid; if (cover >= L) { r = mid; } else { l = mid + 1; } } cout << fixed << setprecision(4) << r << '\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...