#include<bits/stdc++.h>
using namespace std;
pair<long long,long long> p[1000005];
long long n,len;
bool check(double x)
{
double l = 1,r = 0;
for(int i = 1;i <= n;i++)
{
double d = sqrt(x*x-p[i].second*p[i].second);
double a = p[i].first-d,b = p[i].first+d;
if(a <= r) r = max(r,b),l = min(l,a);
}
if(l <= 0 && r >= len) return true;
else return false;
}
int main()
{
cin >> n >> len;
for(int i = 1;i <= n;i++)
cin >> p[i].first >> p[i].second;
double maxn = 2e9,minn = 1e-4,ans = maxn;
for(double d = maxn;d >= minn;d /= 2)
while(ans-d >= 0 && check(ans-d)) ans -= d;
cout << fixed << setprecision(4) << ans << '\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... |