#include "bits/stdc++.h"
#define INF 1e18
using namespace std;
bool test(int n, int l, double r, vector<pair<double, double>> stations) {
vector<pair<double, double>> intervals;
for (int i = 0; i < n; i++) {
if (stations[i].second >= -r && stations[i].second <= r) {
double x = stations[i].first;
double y = stations[i].second;
double lower = x - sqrt(pow(r, 2) - pow(y, 2));
double upper = x + sqrt(pow(r, 2) - pow(y, 2));
intervals.push_back({lower, upper});
}
}
pair<double, double> best = intervals[0];
for (auto interval : intervals) {
if (interval.first < best.second) {
best = {min(interval.first, best.first), max(interval.second, best.second)};
}
}
if (best.first <= 0 && best.second >= l) {
return true;
}
return false;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int n, l;
cin >> n >> l;
vector<pair<double, double>> stations(n);
for (int i = 0; i < n; i++) {
cin >> stations[i].first >> stations[i].second;
}
double lo = 0, hi = 1.1e9;
while (hi - lo > 1e-3) {
double mid = (lo + hi) / 2;
if (test(n, l, mid, stations)) {
hi = mid;
} else {
lo = mid;
}
}
cout << lo << endl;
}
| # | 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... |