#include <bits/stdc++.h>
#define int long long
const double eps = 1e-5;
int n, L, x[1000000], y[1000000];
double filled, left, right;
signed main() {
std::ios::sync_with_stdio(0);
std::cin.tie(0);
std::cin >> n >> L;
for(int i = 0; i < n; ++i) std::cin >> x[i] >> y[i];
std::function <bool(double)> check = [&] (double r) {
filled = 0;
for(int i = 0; i < n; ++i) {
left = x[i] - std::sqrt(r * r - y[i] * y[i]);
right = x[i] + std::sqrt(r * r + y[i] * y[i]);
if(left <= filled) filled = std::max(filled, right);
}
return filled >= L;
};
double l = 0, r = std::sqrt(3e18);
while(l + eps < r) {
double mid = (l + r) / 2;
if(check(mid)) r = mid;
else l = mid;
}
std::cout << std::fixed << std::setprecision(5) << l;
}
# | 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... |