Submission #1162073

#TimeUsernameProblemLanguageResultExecution timeMemory
1162073jaredMobile (BOI12_mobile)C++20
12 / 100
267 ms8264 KiB
#include "bits/stdc++.h" using namespace std; int n, L; // vector<pair<int, int> > p; pair<int, int> p[1000000]; // 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 = 1.5e9; while (r - l > 1e-3) { double mid = l + (r - l) / 2; double end = 0; // for (auto [x, y]: p) { for (int i = 0; i < n; i++) { auto x = p[i].first, y = p[i].second; // 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(mid * mid - y * y); double l_intercept = -delta + x, r_intercept = delta + x; if (l_intercept <= end) end = max(end, r_intercept); } if (end >= L) 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...