Submission #1349848

#TimeUsernameProblemLanguageResultExecution timeMemory
1349848NewtonabcMobile (BOI12_mobile)C++20
100 / 100
625 ms16968 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;
vector<pair<double,double>> p;
ll L;
bool cal(double d){
    double nlen=0;
    for(auto [x,y]:p){
        if(d*d-y*y<0) continue;
        double k=sqrt(d*d-y*y);
        if(x-k<=nlen) nlen=max(nlen,x+k);
    }
    return nlen>=(double)L;
}
int main(){
    int n;
    cin>>n >>L;
    for(int i=0;i<n;i++){
        ll x,y; cin>>x >>y;
        p.push_back({x,y});
    }
    double l=0,r=3e9;
    for(int i=0;i<100;i++){
        double mid=(l+r)/2;
        if(cal(mid)) r=mid;
        else l=mid;
    }
    cout<<fixed <<setprecision(8) <<l;
}
#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...