#include <bits/stdc++.h>
using namespace std;
double bin_search(double l, double r, function<bool(double)> f) {
while(r - l > 1e-5) {
double mid = l + (r - l) / 2;
if(f(mid)) {
r = mid;
} else {
l = mid;
}
}
return l;
}
int main() {
int N, L; cin >> N >> L;
vector<pair<int, int>> pts(N);
for(int i = 0; i < N; ++i) {
int x, y; cin >> x >> y;
y = abs(y);
pts[i] = {x, y};
}
cout << bin_search(0, 2e9, [&](double rad) {
double curr = 0.0;
for(int i = 0; i < N; ++i) {
double X = pts[i].first, Y = pts[i].second;
if(Y > rad) continue;
double delta = sqrt(rad * rad - Y * Y);
double left_isect = X - delta, right_isect = X + delta;
if(left_isect <= curr) curr = max(curr, right_isect);
}
return curr >= L;
}) << "\n";
}
# | 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... |