#include <bits/stdc++.h>
#define ALL(x) x.begin(),x.end()
using namespace std;
typedef long long ll;
typedef long double ld;
ll n,L,con,a,b;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin >> n >> L;
vector<pair<ll,ll>> point;
cin >> a >> b;
b=abs(b);
point.push_back({a,b});
for(int i=1;i<n;i++){
cin >> a >> b;
b=abs(b);
if(a==point.back().first){
point.back().second=min(point.back().second,b);
}else{
point.push_back({a,b});
}
}
n=point.size();
ld iz=0,de=2e9;
while(con<50){
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 || now.second<last.first){
continue;
}
last={min(last.first,now.first),max(last.second,now.second)};
}
if(last.second>=(ld)L){
de=mid;
}else{
iz=mid;
}
con++;
}
cout << fixed << setprecision(12) << 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... |