제출 #477078

#제출 시각아이디문제언어결과실행 시간메모리
477078qwerty1234Mobile (BOI12_mobile)C++17
70 / 100
1093 ms16076 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; bool check(double maxDist, vector<pair<double, double>> &transceivers, ll N, ll L) { double covered = 0; for (int i = 0; i < N; i++) { double ySquared = transceivers[i].second * transceivers[i].second; double hypoSquared = maxDist * maxDist; if (hypoSquared - ySquared < 0) { continue; } double x = sqrt(hypoSquared - ySquared); if (transceivers[i].first - x <= covered) { covered = max(covered, transceivers[i].first + x); } } return covered >= L; } int main() { ll N, L; cin >> N >> L; vector<pair<double, double>> transceivers(N); for (int i = 0; i < N; i++) cin >> transceivers[i].first >> transceivers[i].second; double l = 0; double r = 1e9; double ans = 0; while (r - l >= 0.001) { double mid = l + (r - l) / 2; // cout << l << ' ' << r << ' ' << mid << '\n'; if (check(mid, transceivers, N, L)) { r = mid; ans = mid; } else { l = mid; } } printf("%0.4lf\n", ans); }
#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...