#include "bits/stdc++.h"
#define int long long
#define double long double
using namespace std;
int n, L;
vector<pair<int, int> > p;
bool ok(double radius) {
double end = 0;
for (auto [x, y]: p) {
// Equation of a circle: (X - x)^2 + (Y - y)^2 = r^2
// Want to find intersect with Y = 0,
// (X - x)^2 = r^2 - y^2
// X = (+-) sqrt(r^2 - y^2) + x
double delta = sqrt(radius * radius - y * y);
double l_intercept = -delta + x, r_intercept = delta + x;
if (l_intercept <= end) end = max(end, r_intercept);
}
return end >= L;
}
signed main() {
cin.tie(nullptr);
ios_base::sync_with_stdio(false);
cin >> n >> L;
p.resize(n);
for (auto &i: p)
cin >> i.first >> i.second;
double l = 0, r = INT_MAX;
while (r - l >= 1e-4) {
double mid = l + (r - l) / 2;
if (ok(mid)) r = mid;
else l = mid;
}
cout << fixed << setprecision(3) << l << endl;
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... |