Submission #371523

#TimeUsernameProblemLanguageResultExecution timeMemory
371523CodurrMobile (BOI12_mobile)C++14
90 / 100
1091 ms16000 KiB
#include<bits/stdc++.h>

using namespace std;

#define int long long
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()

signed main(){
    ios::sync_with_stdio(0);cin.tie(0);
    int n,l;
    cin>>n>>l;
    vector<pair<double,double>> v(n);
    for(int i=0;i<n;i++) cin>>v[i].first>>v[i].second;
    double l1=1,r=1e9*sqrt(2);
    while (r-l1>1e-3){
        double m=(l1+r)/2;
        double a,b,cur=0;
        for(int i=0;i<n;i++){
            a=v[i].first-sqrt(m*m-v[i].second*v[i].second);
            b=v[i].first+sqrt(m*m-v[i].second*v[i].second);
            if(a<=cur) cur=max(cur,b);
        }
        if(cur>=(double)l) r=m;
        else l1=m;
    }
    cout<<fixed<<setprecision(6)<<r;
    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...