Submission #1255524

#TimeUsernameProblemLanguageResultExecution timeMemory
1255524chr34Mobile (BOI12_mobile)C++20
0 / 100
1096 ms24292 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...