Submission #1241304

#TimeUsernameProblemLanguageResultExecution timeMemory
1241304ZeroMobile (BOI12_mobile)C++20
100 / 100
759 ms15944 KiB
#include <bits/stdc++.h> #define f first #define ss second using namespace std; vector<pair<double,double>> a; int n; double L; bool ok(double m){ double cr = 0; for(int i=0; i < n; i ++){ double xx = sqrt(m*m-a[i].ss*a[i].ss); double le = a[i].f - xx, re = a[i].f + xx; if(le <= cr) cr = max(cr,re); } return cr >= L; } signed main(){ cin.tie(0)->sync_with_stdio(0); cin >> n >> L; a.resize(n); for(auto &i : a) cin >> i.first >> i.second; double l = -1, r = 1e9; for(int i=0; i < 100; i ++){ double m = (l+r)/2; if(ok(m)) r = m; else l=m; } cout << fixed << setprecision(6) << r; }
#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...