Submission #1308960

#TimeUsernameProblemLanguageResultExecution timeMemory
1308960Euclid73Mobile (BOI12_mobile)C++20
100 / 100
915 ms16064 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const ll MAXN=1e6+5; /* binary search on the answer for a given radius r we can take intervals on the x-axis that have dist less than r. just need to make sure the union covers 0 to l */ ll n; double l, x[MAXN], y[MAXN]; bool works(double r) { double c=0; for (int i=0; i<n; i++) { double d=sqrt(r*r-y[i]*y[i]); double a=x[i]-d, b=x[i]+d; if (a<=c) { c=max(c, b); } } return c>=l; } int main() { cin >> n >> l; for (int i=0; i<n; i++) { cin >> x[i] >> y[i]; } double L=1, R=1e10, mid; while (L<R-0.001) { mid=(L+R)/2; if (works(mid)) { R=mid; } else { L=mid; } } cout << fixed << setprecision(3) << L << "\n"; }
#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...