#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |