Submission #1240609

#TimeUsernameProblemLanguageResultExecution timeMemory
1240609ZeroMobile (BOI12_mobile)C++20
0 / 100
585 ms16056 KiB
#include <bits/stdc++.h> #define f first #define ss second using namespace std; bool ok(double m, vector<pair<int,int>> a, int x){ int n = a.size(); for(int i=1; i < n; i ++){ //if(a[i-1].f >= x && a[i].f >= x) break; double xo = a[i].f-sqrt(m*m-a[i].ss*a[i].ss), xo2 = a[i].f+sqrt(m*m-a[i].ss*a[i].ss); double d = (a[i-1].f-xo) * (a[i-1].f-xo) + a[i-1].ss*a[i-1].ss; double df = (a[i-1].f-xo2) * (a[i-1].f-xo2) + a[i-1].ss*a[i-1].ss; if(d > m*m && df > m*m) return 0; // double ds = (a[i].f - (m+a[i-1].f)) * (a[i].f-(m+a[i-1].f)) + (a[i].ss)*(a[i].ss); // ds = sqrt(ds); // if(ds>m*2) return 0; } return 1; } signed main(){ cin.tie(0)->sync_with_stdio(0); int n,x; cin >> n >> x; vector<pair<int,int>> a(n); for(auto &i : a) cin >> i.first >> i.second; double l = 0, r = INT_MAX; for(int i=0; i < 100; i ++){ double m = (l + r) / 2; if(ok(m,a,x)) 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...