Submission #1221412

#TimeUsernameProblemLanguageResultExecution timeMemory
1221412juaquin_remonMobile (BOI12_mobile)C++20
0 / 100
930 ms15944 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; const ld INF_R = 2e9L; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); ll N, L; cin >> N >> L; vector<ll> x(N), y(N); for(ll i = 0; i < N; i++){ cin >> x[i] >> y[i]; } auto covers = [&](ld R){ // intentamos cubrir [0, L] con los intervalos de cada estación ld reach = 0.0L; for(ll i = 0; i < N; i++){ // si la estación está demasiado lejos en y, no cubre la carretera if (fabsl(y[i]) > R) continue; // distancia horizontal desde x[i] ld dx = sqrtl(R*R - (ld)y[i]*y[i]); ld left = x[i] - dx; ld right = x[i] + dx; if (left > reach) return false; // hueco sin cubrir entre reach y left reach = max(reach, right); if (reach >= L) return true; // ya cubrimos todo [0, L] } return (reach >= L); }; // binaria para el menor R que cubra completamente la carretera ld lo = 0.0L, hi = INF_R; for(int it = 0; it < 200; it++){ ld mid = (lo + hi) * 0.5L; if (covers(mid)) hi = mid; else lo = mid; } cout << fixed << setprecision(10) << 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...