#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define endl "\n";
#define all(x) x.begin(), x.end()
#define int long long
int MOD = 1e9 + 7;
const ll INF = 1e18;
void solve() {
int n, l; cin >> n >> l;
vector<array<int, 2>> arr(n);
for (int i = 0; i < n; i++) {
cin >> arr[i][0] >> arr[i][1];
}
auto works = [&](long double r) {
vector<array<long double, 2>> cover(n);
for (int i = 0; i < n; i++) {
cover[i][0] = arr[i][0] - sqrt(r * r - arr[i][1] * arr[i][1]);
cover[i][1] = arr[i][0] + sqrt(r * r - arr[i][1] * arr[i][1]);
}
sort(all(cover));
long double cur = 0;
for (int i = 0; i < n; i++) {
if (cover[i][0] > cur) continue;
cur = max(cur, cover[i][1]);
}
return cur >= l;
};
long double l1 = 0, r = 1e10;
while (r - l1 > 1e-9) {
long double mid = (l1 + r) / 2;
if (works(mid)) {
r = mid;
} else {
l1 = mid;
}
}
cout << fixed << setprecision(10) << r << endl;
}
signed main() {
ios::sync_with_stdio(0); cin.tie(NULL);
// freopen("walk.in", "r", stdin);
// freopen("walk.out", "w", stdout);
ll t = 1; // cin >> t;
while (t--) {
solve();
}
}
# | 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... |