제출 #1350748

#제출 시각아이디문제언어결과실행 시간메모리
1350748WarinchaiMobile (BOI12_mobile)C++20
75 / 100
1096 ms48172 KiB
#include<bits/stdc++.h>
using namespace std;

vector<pair<double,double>>v;
int n;
double l;
double eps=1e-10;

bool check(double m){
    vector<pair<double,double>>p;
    for(auto [x,y]:v){
        if(m>=y-eps){
            double dis=max(0.0,sqrt(m*m-y*y));
            p.push_back({x-dis,x+dis});
        }
    }
    //sort(p.begin(),p.end());
    double en=0;
    for(auto [l,r]:p){
        if(l<=en+eps)en=max(en,r);
    }
    return en>=l-eps;
}

int32_t main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin>>n>>l;
    for(int i=0;i<n;i++){
        double x,y;cin>>x>>y;
        v.push_back({x,y});
    }
    double st=0,en=1e10;
    for(int i=0;i<=67;i++){
        double m=(st+en)/2;
        if(check(m)){
            en=m;
        }else{
            st=m;
        }
    }
    cout<<fixed<<setprecision(67)<<(st+en)/2;
}
#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...