Submission #1162079

#TimeUsernameProblemLanguageResultExecution timeMemory
1162079jaredMobile (BOI12_mobile)C++20
100 / 100
290 ms16096 KiB
#include "bits/stdc++.h" // #define int long long // #define double long double using namespace std; int n, L; vector<pair<long long, long long> > p; bool ok(double radius) { double end = 0; for (auto [x, y]: p) { // Equation of a circle: (X - x)^2 + (Y - y)^2 = r^2 // Want to find intersect with Y = 0, // (X - x)^2 = r^2 - y^2 // X = (+-) sqrt(r^2 - y^2) + x double delta = sqrt(radius * radius - y * y); double l_intercept = -delta + x, r_intercept = delta + x; if (l_intercept <= end) end = max(end, r_intercept); } return end >= L; } signed main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); cin >> n >> L; p.resize(n); for (auto &i: p) cin >> i.first >> i.second; // for (int i = 0; i < n; i++) // cin >> p[i].first >> p[i].second; double l = 0, r = INT_MAX; while (r - l > 1e-4) { double mid = l + (r - l) / 2; if (ok(mid)) r = mid; else l = mid; } cout << fixed << setprecision(6) << l << endl; 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...