#include <bits/stdc++.h>
using namespace std;
#define all(v) v.begin(),v.end()
#define pb push_back
#define ll long long
#define ld long double
#define fi first
#define se second
#define mk make_pair
typedef pair<ll,ll> pii;
int i,n,t;
const int maxn = 1e6 + 10;
pii a[maxn];
ll m;
bool check(ld r)
{
ld pos = 0;
for(int i = 0;i<n&&pos<m;i++)
{
ll x = a[i].fi;
ll y = a[i].se;
ld tmp = sqrt(r - y*y);
if(pos < x-tmp)return 0;
pos = max(pos,tmp+x);
}
return pos >= m;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
// freopen("a.INP","r",stdin);
// freopen("a.OUT","w",stdout);
cin>>n>>m;
for(i = 0;i<n;i++)
{
cin>>a[i].fi>>a[i].se;
}
sort(a,a+n);
ld l = 0,r = 2e18;
int t = 100;
while(t--)
{
ld mid = (l + r)/2;
if(check(mid))r = mid;
else l = mid;
}
cout<<sqrt(l);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |