#include <bits/stdc++.h>
#define f first
#define ss second
using namespace std;
bool ok(double m, vector<pair<int,int>> a, int x){
int n = a.size();
for(int i=1; i < n; i ++){
//if(a[i-1].f >= x && a[i].f >= x) break;
double xo = -(sqrt(m*m-a[i].ss*a[i].ss)-a[i].f);
double d = (a[i-1].f-xo) * (a[i-1].f-xo) + a[i-1].ss*a[i-1].ss;
if(d > m*m) return 0;
// double ds = (a[i].f - (m+a[i-1].f)) * (a[i].f-(m+a[i-1].f)) + (a[i].ss)*(a[i].ss);
// ds = sqrt(ds);
// if(ds>m*2) return 0;
}
return 1;
}
signed main(){
cin.tie(0)->sync_with_stdio(0);
int n,x; cin >> n >> x;
vector<pair<int,int>> a(n);
for(auto &i : a) cin >> i.first >> i.second;
double l = 0, r = INT_MAX;
for(int i=0; i < 100; i ++){
double m = (l + r) / 2;
if(ok(m,a,x)) r = m;
else l=m;
}
cout << fixed << setprecision(6) << r;
}
# | 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... |