Submission #1216053

#TimeUsernameProblemLanguageResultExecution timeMemory
1216053jakeob77Mobile (BOI12_mobile)C++20
12 / 100
790 ms8272 KiB
#include <bits/stdc++.h>
#include <bits/extc++.h> 
using namespace std;
//using namespace __gnu_pbds;
#define ll long long
#define pb push_back
#define ins insert
//cout<<fixed<<setprecision(3); 3 decimalke brez fixed pa 3 zanesljiva mesta
const int MAXN=2e5+2;
const long long linf=1e18;
const int inf=1e9;
const int mod=1e9+7;

void solve(){
    int n,m;cin>>n>>m;
    vector<int>a(n),b(n);
    for(int i=0;i<n;i++) {
        cin>>a[i]>>b[i];
        b[i]=abs(b[i]);
    }
    auto f=[&](long double r)->bool{
        long double p=0;
        for(int i=0;i<n;i++){
            long double d=sqrt(r*r-b[i]*b[i]);
            long double left=a[i]-d,right=a[i]+d;
            if(left<=p) p=max(p,right);
        }
        return p>=m;
        
    };

    long double l=0,r=3e9;long double e=0.00001;
    while(r-l>e){
        long double mid=l+(r-l)/2;
        if(f(mid)){
            r=mid;
        }
        else l=mid;
    }
    cout<<fixed<<setprecision(5)<<l<<endl;
}
int main(){
    std::ios::sync_with_stdio(false);
	std::cin.tie(NULL); 
    int t=1;
    while(t--) solve();
}
#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...