#include <bits/stdc++.h>
using namespace std;
int main(){
int n,l;
cin >> n >> l;
pair<long double,long double> arr[n];
for (int i = 0; i<n; i++){
cin >> arr[i].first >> arr[i].second;
}
const long double eps = 1e-7;
long double lo = 0;
long double hi = 2e9;
long double bst = hi;
while (hi-lo > eps){
long double mid = (lo+hi)/2;
vector<pair<long double, long double>> all;
for (int i = 0; i<n; i++){
auto [x,y] = arr[i];
if (abs(y)-mid > eps) continue;
long double num = sqrt((mid*mid) - (y*y));
long double lft = x - num;
long double rgt = x + num;
all.push_back({lft,rgt});
}
sort(all.begin(), all.end());
long double cr = 0LL;
bool flag = true;
for (auto u : all){
auto [a,b] = u;
if (cr > a-eps){
cr = max(cr,b);
}
else{
flag = false;
}
}
if (flag && cr>l-eps){
bst = min(bst, mid);
hi = mid;
}
else{
lo = mid;
}
}
cout << fixed << setprecision(10) << bst;
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... |