#include <bits/stdc++.h>
using namespace std;
#define ll long long
void doing() {
int n, L;
cin >> n >> L;
map<int, int> m;
for (int i = 0; i < n; i++) {
int a, b;
cin >> a >> b;
b = abs(b);
if (m.count(a))m[a] = min(m[a], b);
else m[a] = b;
}
vector<pair<int, int>> v;
for (auto [a, b] : m) {
v.emplace_back(a, b);
}
auto cal = [&](double x, double y, double r)-> pair<double, double> {
auto cur = sqrtl(r * r - y * y);
return {x - cur, x + cur};
};
auto check = [&](double x) {
double lx = L + 1, rx = -1;
for (int i = 0; i < v.size(); i++) {
if (v[i].second > x)continue;
auto [l, r] = cal(v[i].first, v[i].second, x);
if (l > rx)continue;
lx = min(l, lx);
rx = max(r, rx);
}
return lx <= 0 && rx >= L;
};
double l = 0, r = 1e11;
while (r - l > 1e-4) {
double mid = l + (r - l) / 2;
if (check(mid)) r = mid;
else l = mid;
}
cout << fixed << setprecision(6) << r << endl;
}
signed main() {
ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
#ifdef LOCAL
freopen("IN.txt", "r", stdin);
#else
#endif
int tc = 1;
// cin >> tc;
while (tc--) {
doing();
}
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... |