#include <bits/stdc++.h>
#define int long long
#define pii pair<long double, long double>
#define fst first
#define snd second
#define endl "\n"
using namespace std;
const int inf=0x3f3f3f3f;
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int n, m;
cin >> n >> m;
pii p[n];
for(auto &[x,y] : p) {
cin >> x >> y;
y=abs(y);
}
stack<pair<long double,int>> mnstk;
long double ans=inf, dist;
for(int i=0; i<n; ++i) {
dist = (m-p[i].fst)*(m-p[i].fst);
dist += p[i].snd*p[i].snd;
dist = sqrt(dist);
while(!mnstk.empty()) {
auto &[d,j] = mnstk.top();
long double aux = (p[i].fst*p[i].fst) + (p[i].snd*p[i].snd);
aux -= (p[j].fst*p[j].fst) + (p[j].snd*p[j].snd);
aux /= 2*(p[i].fst-p[j].fst);
aux = (p[i].fst-aux)*(p[i].fst-aux) + (p[i].snd*p[i].snd);
dist = max(dist, sqrt(aux));
if(dist>=d) break;
mnstk.pop();
}
mnstk.push({dist,i});
ans=min(ans,dist);
}
cout << ans << endl;
}
# | 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... |