#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fs first
#define ss second
#define str string
#define endl '\n'
#define all(a) a.begin(), a.end()
#define print(a) \
for (auto x : a) \
cout << x << ' '; \
cout << endl;
#define printmp(a) \
for (auto x : a) \
cout << x.fs << ' ' << x.ss << endl;
#define matrix(a) \
for (auto x : a) { \
for (auto y : x) \
cout << y << ' '; \
cout << endl; \
}
const int mod = 1e9 + 7;
void solve() {
int n;
long double L;
cin >> n >> L;
vector<array<long double, 2>> a(n);
for(int i = 0; i < n; i ++)
cin >> a[i][0] >> a[i][1];
sort(all(a));
auto dist = [&](long double x){
long double mn = 5e18;
for(int i = 0; i < n; i ++)
mn = min(mn, abs(x - a[i][0]) * abs(x - a[i][0]) + a[i][1] * a[i][1]);
return mn;
};
long double mn = 5e18, ans = -1;
for(int i = 0; i < n - 1; i ++){
long double l = min(L, max((long double)0, a[i][0])), r = min(L, max((long double)0, a[i + 1][0]));
for(int i = 0; i < 100; i ++){
long double mid1 = l + (r - l) / 3.0, mid2 = r - (r - l) / 3.0;
if(dist(mid1) > dist(mid2))
r = mid2;
else
l = mid1;
}
if(mn > dist(l))
mn = dist(l), ans = l;
}
cout << fixed << setprecision(5) << ans;
}
signed main() {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int t = 1;
// cin >> t;
while (t--) {
solve();
cout << 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... |