#include <bits/stdc++.h>
using namespace std;
using db = double;
vector<db> pos;
int n, len, x[1000005], y[1000005];
db l = 0, r = 3e9, mid;
int main() {
cin.tie(0) -> sync_with_stdio(0);
cin >> n >> len;
for(int i=0;i<n;i++) {
cin >> x[i] >> y[i];
}
for(int it=0;it<45;it++) {
mid = (l+r)/2;
vector<pair<db, int>> vec;
vec.emplace_back(0, 0);
for(int i=0;i<n;i++) {
if(y[i] > mid) continue;
db sq = sqrt(mid*mid-1ll*y[i]*y[i]);
//e1 = x[i]-sq, e2 = x[i]+sq
vec.emplace_back(max(x[i]-sq, (db)0), -1);
if(x[i]+sq < len)
vec.emplace_back(max((db)0, x[i]+sq), 1);
}
sort(vec.begin(), vec.end());
int cnt = 0, noo = 0;
for(auto &e:vec) {
cnt -= e.second;
if(cnt <= 0) noo = 1;
}
if(noo) l = mid;
else r = mid;
}
cout << fixed << setprecision(5) << l;
}
| # | 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... |