#include <bits/stdc++.h>
using namespace std;
struct Station {
double x, y;
};
double dist(double p, const Station &s) {
return hypot(p - s.x, s.y);
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int N;
double L;
cin >> N >> L;
vector<Station> st(N);
for (int i = 0; i < N; i++) {
cin >> st[i].x >> st[i].y;
}
vector<double> candidates;
candidates.push_back(0.0);
candidates.push_back(L);
// Check between each consecutive station
for (int i = 0; i + 1 < N; i++) {
double x1 = st[i].x, y1 = st[i].y;
double x2 = st[i+1].x, y2 = st[i+1].y;
if (x1 == x2) continue; // avoid division by zero
double p = (x2*x2 + y2*y2 - x1*x1 - y1*y1) / (2.0 * (x2 - x1));
if (p >= 0.0 && p <= L) {
candidates.push_back(p);
}
}
double ans = 0.0;
for (double p : candidates) {
double best = numeric_limits<double>::infinity();
// find nearest station
for (int i = 0; i < N; i++) {
best = min(best, dist(p, st[i]));
}
ans = max(ans, best);
}
cout << fixed << setprecision(6) << ans << "\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... |