Submission #862460

#TimeUsernameProblemLanguageResultExecution timeMemory
862460AndreiVerestiucMobile (BOI12_mobile)C++11
100 / 100
807 ms48716 KiB
#include <bits/stdc++.h>
#define p pair<long long,long long>
using namespace std;
bool Check(double d,vector<p> v,int n,int l) {
    double curr=0;
    for (int i=0; i<n; i++) {
        double x=v[i].first,y=v[i].second;
        double distance=sqrt(d*d-y*y);
        double st=x-distance,dr=x+distance;
        if (st<=curr) curr=max(curr,dr);
    }
    return (curr>=l);
}
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=1.5e9,mij;
    while (dr-st>1e-3) {
        mij=(st+dr)/2;
        //cout<<st<<' '<<dr<<' '<<mij<<'\n';
        if (Check(mij,v,n,l)) dr=mij;
        else  st=mij;
    }
    cout<<fixed<<setprecision(4)<<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...