#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n, L; cin >> n >> L;
vector<array<int, 2>> a(n);
for(int i = 0; i < n; i++) cin >> a[i][0] >> a[i][1];
double l = 0, r = 1e9;
for(int _ = 0; _ <= 50; _++){
double mid = (l + r) / 2;
vector<array<double, 2>> cover(n);
for (int i = 0; i < n; i++) {
if(a[i][1] > mid) cover[i][0] = cover[i][1] = -1e18;
else{
cover[i][0] = a[i][0] - sqrt(mid * mid - a[i][1] * a[i][1]);
cover[i][1] = a[i][0] + sqrt(mid * mid - a[i][1] * a[i][1]);
}
}
double cur = 0;
for (int i = 0; i < n; i++) {
if (cover[i][0] > cur) continue;
cur = max(cur, cover[i][1]);
}
if(cur >= L) r = mid;
else l = mid;
}
cout << fixed << setprecision(10) << 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... |