Submission #1255733

#TimeUsernameProblemLanguageResultExecution timeMemory
1255733NipphitchMobile (BOI12_mobile)C++20
0 / 100
347 ms15944 KiB
#include <bits/stdc++.h> using namespace std; const double EPS = 1e-9; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; double L; cin >> N >> L; vector<double> x(N), y(N); for (int i = 0; i < N; i++) { cin >> x[i] >> y[i]; } double lo = 0, hi = 0; // hi bound: farthest possible distance to the farthest station for (int i = 0; i < N; i++) { hi = max(hi, hypot(max(x[i], L) - min(x[i], 0.0), y[i])); } for (int it = 0; it < 70; it++) { // enough for double precision double mid = (lo + hi) / 2.0; double mxlo = 0.0, mnhi = L; bool ok = true; for (int i = 0; i < N; i++) { if (fabs(y[i]) > mid + EPS) { ok = false; break; } double dx = sqrt(max(0.0, mid * mid - y[i] * y[i])); mxlo = max(mxlo, x[i] - dx); mnhi = min(mnhi, x[i] + dx); } if (ok && mnhi + EPS >= mxlo && mnhi >= 0 - EPS && mxlo <= L + EPS) { hi = mid; } else { lo = mid; } } cout << fixed << setprecision(6) << hi << "\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...