#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
double l;
cin>>n>>l;
vector<pair<double, double> > points;
double l_copy=0;
double r_copy=2*l;
for(int i=0; i<n; i++){
double a;
double b;
cin>>a>>b;
points.push_back({a,b});
}
double out=r_copy;
while(l_copy<=r_copy-(1e-5)){
double mid=l_copy+(r_copy-l_copy)/2;
double last_covered=0;
for(int i=0; i<n; i++){
if(abs(points[i].second)<=mid){
double horizontal=sqrt(pow(mid,2)-pow(points[i].second, 2));
double l_curr=points[i].first-horizontal;
double r_curr=points[i].first+horizontal;
if(r_curr>=last_covered){
if(l_curr<=last_covered){
last_covered=r_curr;
}
}
}
}
if(last_covered>=l){
out=min(out, mid);
r_copy=mid-(1e-5);
}else{
l_copy=mid+(1e-5);
}
}
cout<<fixed<<setprecision(5)<<out<<"\n";
}
| # | 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... |