#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 = [&](double r) {
double curr = 0;
for (int i = 0; i < n; i++) {
double delta = sqrt(r * r - arr[i][1] * arr[i][1]);
double a = arr[i][0] - delta, b = arr[i][0] + delta;
if (a <= curr) curr = max(curr, b);
}
return curr >= l;
};
double l1 = 0, r = 1.5e9;
while (r - l1 > 1e-4) {
double mid = (l1 + r) / 2;
if (works(mid)) {
r = mid;
} else {
l1 = mid;
}
}
cout << fixed << setprecision(10) << l1 << 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... |