#include <bits/stdc++.h>
#define int long long
using namespace std;
/*void setIO(string name = "") {
if (!name.empty()) {
freopen((name + ".in").c_str(), "r", stdin);
freopen((name + ".out").c_str(), "w", stdout);
}
}*/
pair<int,int> check(int mid,int x) {
int y = mid - 1;
int cnt = (y * (y + 1)) / 2;
int rest = x - mid;
return pair<int, int> {cnt, rest};
}
void solve() {
int n, L;
cin >> n >> L;
vector <pair<int, int> > v(n);
for (int i = 0; i < n; i++) {
cin >> v[i].first >> v[i].second;
}
double l = 0, r = INT_MAX;
for (int j = 0; j < 100; j++) {
double mid = l + (r - l) / 2;
double curr = 0;
for (int i = 0; i < n; i++) {
double a = v[i].second * v[i].second;
double c = mid * mid;
double dis = sqrt(c - a);
double sol = v[i].first - dis;
double oh = v[i].first + dis;
if (sol <= curr) {
curr = max(curr, oh);
}
}
if (curr >= L) {
r = mid;
}
else {
l = mid;
}
}
cout << fixed << setprecision(10) << l << endl;
}
signed main() {
//setIO("balancing");
ios::sync_with_stdio(false);
cin.tie(NULL);
int n = 1;
//cin >> n;
while (n--) {
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... |