Submission #1298796

#TimeUsernameProblemLanguageResultExecution timeMemory
1298796ghassanhasanMobile (BOI12_mobile)C++20
0 / 100
620 ms55608 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long void doing() { int n, L; cin >> n >> L; map<int, int> m; for (int i = 0; i < n; i++) { int a, b; cin >> a >> b; b = abs(b); if (m.count(a))m[a] = min(m[a], b); else m[a] = b; } vector<pair<int, int>> v; for (auto [a, b] : m) { v.emplace_back(a, b); } auto cal = [&](double x, double y, double r)-> pair<double, double> { auto cur = sqrtl(r * r - y * y); return {x - cur, x + cur}; }; auto check = [&](double x) { double lx = L + 1, rx = -1; for (int i = 0; i < v.size(); i++) { if (v[i].second > x)continue; auto [l, r] = cal(v[i].first, v[i].second, x); if (l > rx)return false; lx = min(l, lx); rx = max(r, rx); } return lx <= 0 && rx >= L; }; double l = 0, r = 1e11; for (int i = 0; i < 70; i++) { double mid = l + (r - l) / 2; if (check(mid)) r = mid; else l = mid; } cout << fixed << setprecision(6) << r << endl; } signed main() { ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); #ifdef LOCAL freopen("IN.txt", "r", stdin); #else #endif int tc = 1; // cin >> tc; while (tc--) { doing(); } 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...