#include <bits/stdc++.h>
using namespace std;
using ld = long double;
using ll = long long;
const int MAXN = 1e6 + 10;
ll x[MAXN], y[MAXN];
int n; ll L;
bool check(ld d){
ld max_x = 0;
for(int i=1; i<=n; i++){
ld delta = (ld) (d * d - y[i] * y[i]);
if(delta < 1e-9) continue;
ld l = (ld) (x[i] - sqrt(delta)), r = (ld) (x[i] + sqrt(delta));
if(l <= max_x) max_x = max(max_x, r);
}
return max_x < L;
}
ld bs(){
ld l = 0, r = 1e10;
for(int i=0; i<75; i++){
ld m = (l + r) / 2;
if(check(m)) l = m;
else r = m;
}
return l;
}
int main(){
cin.tie(0)->sync_with_stdio(0);
cin >> n >> L;
for(int i=1; i<=n; i++){
cin >> x[i] >> y[i];
}
cout << fixed << setprecision(6) << bs() << "\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... |