Submission #1318811

#TimeUsernameProblemLanguageResultExecution timeMemory
1318811simplemind_31Mobile (BOI12_mobile)C++20
30 / 100
1096 ms16984 KiB
#include <bits/stdc++.h>
#define ALL(x) x.begin(),x.end()
using namespace std;
typedef long long ll;
typedef long double ld;
ll n,L,con,a,b;
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);cout.tie(0);
    cin >> n >> L;
    vector<pair<ll,ll>> point;
    cin >> a >> b;
    b=abs(b);
    point.push_back({a,b});
    for(int i=1;i<n;i++){
        cin >> a >> b;
        b=abs(b);
        if(a==point.back().first){
            point.back().second=min(point.back().second,b);
        }else{
            point.push_back({a,b});
        }
    }
    n=point.size();
    ld l=0,r=1e9;
    while(abs(r-l)>=1e-4){
        ld mid=(l+r)/2;
        ld last=0;
        for(int i=0;i<n;i++){
            ld dist=sqrtl(mid*mid-(point[i].second*point[i].second));
            if(point[i].first-dist<=last)last=max(last,point[i].first+dist);
        }
        if(last>=L)r=mid;
        else l=mid;
    }
    cout << fixed << setprecision(4) << 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...