#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
// ifstream cin("input.txt");
// ofstream cout("output.txt");
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
ll n, L;
cin >> n >> L;
vector<pair<ll, ll>> points(n);
for (int i = 0; i < n; i++) {
cin >> points[i].first >> points[i].second;
}
long double low = 0, high = 2e9;
while (high - low > 1e-5) {
long double mid = (low + high) / 2;
vector<pair<long double, long double>> intervals;
for (auto& p : points) {
if (abs(p.second) > mid) continue;
long double dx = sqrt(mid * mid - (long double)(p.second) * (p.second));
long double left = p.first - dx;
long double right = p.first + dx;
intervals.push_back({max((long double)0, left), min((long double)L, right)});
}
//sort(intervals.begin(), intervals.end());
long double covered = 0;
for (auto& inter : intervals) {
if (inter.first <= covered) covered = max(covered, inter.second);
}
if (covered >= L) {
high = mid;
} else {
low = mid;
}
}
cout << fixed << setprecision(5) << low << '\n';
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... |