#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
ll n,L,con;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin >> n >> L;
vector<pair<ll,ll>> point(n);
for(int i=0;i<n;i++){
cin >> point[i].first >> point[i].second;
}
ll l=0,r=3e9;
while(l<r){
ll mid=(l+r)>>1;
//radio mid;
pair<ll,ll> last={0,0};
for(int i=0;i<n;i++){
ll dist=sqrtl(mid*mid-point[i].second*point[i].second);
pair<ll,ll> now={point[i].first-dist,point[i].first+dist};
if(last.second>=now.first){
last.second=now.second;
}else{
break;
}
}
if(last.second>=L){
r=mid;
}else{
l=mid+1;
}
}
ld iz=l-1,de=l;
while(con<64){
ld mid=(iz+de)/2;
pair<ld,ld> last={0,0};
for(int i=0;i<n;i++){
ld dist=sqrtl(mid*mid-(point[i].second*point[i].second));
pair<ld,ld> now={((ld)point[i].first)-dist,((ld)point[i].first)+dist};
if(last.second>=now.first){
last.second=now.second;
}else{
break;
}
}
if(last.second>=(ld)L){
de=mid;
}else{
iz=mid;
}
con++;
}
cout << fixed << setprecision(6) << iz;
}
# | 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... |