제출 #1316273

#제출 시각아이디문제언어결과실행 시간메모리
1316273sdfhoierewfdsMobile (BOI12_mobile)C++20
13 / 100
1098 ms80972 KiB
#include <bits/stdc++.h> #include <iomanip> using namespace std; using lb = long double; bool check(vector<pair<lb, lb>> &l1, lb &a, lb &n, lb &l){ vector<pair<lb, lb>> segments; for (auto &p : l1){ if (a >= fabsl(0.0L - p.second)){ lb x = sqrt((a * a) - (fabsl(0.0L - p.second) * fabsl(0.0L - p.second))); segments.push_back({p.first - x, p.first + x}); } } sort(segments.begin(), segments.end()); lb low = -1e18; lb high = -1e18; for (int i = 0; i < (int)segments.size(); i++){ if (i == 0){ low = segments[i].first; high = segments[i].second; continue; } else { if (segments[i].first > high){ return false; } else { high = max(segments[i].second, high); } } } if (low <= 0 && high >= l){ return true; } else { return false; } } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); lb n, l; cin >> n >> l; vector<pair<lb, lb>> l1; for (int i = 0; i < (int)n; i++){ lb a, b; cin >> a >> b; l1.push_back({a, b}); } lb low = 0; lb high = 1e18; for (int i = 0; i < 80; i++){ lb mid_point = (low + high) / 2; if (check(l1, mid_point, n, l)){ high = mid_point; } else { low = mid_point; } } cout << fixed << setprecision(10) << high; }
#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...