Submission #1216052

#TimeUsernameProblemLanguageResultExecution timeMemory
1216052jakeob77Mobile (BOI12_mobile)C++20
20 / 100
224 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=[&](double r)->bool{
        double p=0;
        for(int i=0;i<n;i++){
            double d=0;
            if(r>b[i]) d=sqrt(r*r-b[i]*b[i]);
            double left=a[i]-d,right=a[i]+d;
            if(left<=p) p=max(p,right);
        }
        return p>=m;
        
    };

    double l=0,r=3e9;double e=0.00001;
    while(r-l>e){
        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...