#include <bits/stdc++.h>
using namespace std;
#define int long long
const int T = 100000; // scale factor
const int INF = 4e14; // upper bound for scaled distance
int n;
long long L;
vector<long long> x, y;
bool can(int mid) {
// mid is the radius (scaled by T)
long double mnhi = 1e18, mxlo = -1e18;
for (int i = 0; i < n; i++) {
if (y[i] > mid) return false; // can't reach vertically
long double dx = sqrtl((long double)mid * mid - (long double)y[i] * y[i]);
mxlo = max(mxlo, (long double)x[i] - dx);
mnhi = min(mnhi, (long double)x[i] + dx);
}
return (mnhi >= mxlo && mnhi >= 0 && mxlo <= L);
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> L;
L *= T;
x.resize(n);
y.resize(n);
for (int i = 0; i < n; i++) {
cin >> x[i] >> y[i];
x[i] *= T;
y[i] *= T;
}
int lo = 0, hi = INF;
while (lo < hi) {
int mid = (lo + hi) / 2;
if (can(mid)) hi = mid;
else lo = mid + 1;
}
cout << lo / T << ".";
int rem = lo % T;
string s = to_string(rem);
while ((int)s.size() < 5) s = '0' + s;
cout << s << "\n";
}
# | 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... |