Submission #862454

#TimeUsernameProblemLanguageResultExecution timeMemory
862454AndreiVerestiucMobile (BOI12_mobile)C++11
0 / 100
913 ms47180 KiB
#include <bits/stdc++.h> #define diff 0.00001 #define p pair<double,double> using namespace std; bool Check(double d,vector<p> v,int n,int l) { double st,dr; double distance=sqrt(d*d-v[0].second*v[0].second); st=max((double)0,v[0].first-distance); dr=min((double)l,v[0].first+distance); for (int i=1; i<n; i++) { double x=v[i].first,y=v[i].second; double distance=sqrt(d*d-y*y); if (dr>=max((double)0,x-distance)) dr=min((double)l,x+distance); else return 0; } return (abs((double)l-dr)<=diff && st<=diff); } int main() { int n,l; cin>>n>>l; vector< p > v(n); for (int i=0; i<n; i++) cin>>v[i].first>>v[i].second; double st=0,dr=1e9,mij; while (abs(dr-st)>diff) { mij=(st+dr)/2; //cout<<st<<' '<<dr<<' '<<mij<<'\n'; if (Check(mij,v,n,l)) dr=mij; else st=mij; } cout<<fixed<<setprecision(6)<<dr<<'\n'; 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...