제출 #1294387

#제출 시각아이디문제언어결과실행 시간메모리
1294387sritthebossMobile (BOI12_mobile)C++20
4 / 100
937 ms63864 KiB
#include "bits/stdc++.h" #define INF 1e18 using namespace std; bool test(int n, int l, double r, vector<pair<double, double>> stations) { vector<pair<double, double>> intervals; for (int i = 0; i < n; i++) { if (stations[i].second >= -r && stations[i].second <= r) { double x = stations[i].first; double y = stations[i].second; double lower = x - sqrt(pow(r, 2) - pow(y, 2)); double upper = x + sqrt(pow(r, 2) - pow(y, 2)); intervals.push_back({lower, upper}); } } pair<double, double> best = intervals[0]; for (auto interval : intervals) { if (interval.first < best.second) { best = {min(interval.first, best.first), max(interval.second, best.second)}; } } if (best.first <= 0 && best.second >= l) { return true; } return false; } int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, l; cin >> n >> l; vector<pair<double, double>> stations(n); for (int i = 0; i < n; i++) { cin >> stations[i].first >> stations[i].second; } double lo = 0, hi = 1.1e9; while (hi - lo > 1e-3) { double mid = (lo + hi) / 2; if (test(n, l, mid, stations)) { hi = mid; } else { lo = mid; } } cout << lo << endl; }
#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...