Submission #654945

#TimeUsernameProblemLanguageResultExecution timeMemory
654945Koful123Mobile (BOI12_mobile)C++17
0 / 100
1097 ms15956 KiB
#include <bits/stdc++.h> using namespace std; #define int long long //#define endl "\n" #define pb push_back #define ff first #define ss second #define mod 1000000007 #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() const double eps = 0.0000000000000001; double dis(pair<double,double> x,pair<double,double> y){ return sqrt(pow(x.ff - y.ff,2) + pow(x.ss - y.ss,2)); } void solve(){ double n,k; cin >> n >> k; vector<pair<double,double>> v(n); for(auto &[x,y] : v){ cin >> x >> y; } auto check = [&](double m,int i,int ty){ double d = 1e18,e = 1e18; for(int j=0;j<i;j++){ d = min(d,dis({m,0},v[j])); } for(int j=i;j<n;j++){ e = min(e,dis({m,0},v[j])); } if(ty == 3) return d; if(ty == 2) return double(d <= e); if(ty == 1) return double(d <= e); return double(d >= e); }; double ans = 0; for(int i=1;i<n;i++){ double l = 0,r = k; int ty = check(v[i-1].ff,i,2); for(int j=1;j<=66;j++){ double m = (l + r + eps) / 2; if(check(m,i,ty)) l = m; else r = m - eps; } ans = max(ans,check(l,i,3)); } cout << fixed << setprecision(10); cout << ans << endl; } signed main(){ ios::sync_with_stdio(0); cin.tie(0); int t = 1; // cin >> t; while(t--) solve(); 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...