#include<bits/stdc++.h>
#include <cstdio>
using namespace std;
#define int long long
#define ld long double
#define ff first
#define ss second
#define INF -1e18
#define mp make_pair
int n,k;
ld d(pair<ld,ld> a, pair<ld,ld> b){
return sqrt((a.ff - b.ff)*(a.ff - b.ff) + (a.ss - b.ss)*(a.ss - b.ss));
}
ld f(pair<ld,ld> a, pair<ld,ld> b){
ld res = ((b.ss)*(b.ss) - (a.ss)*(a.ss))/(2*(b.ff - a.ff)) + (a.ff + b.ff)/2;
if(res < 0) return 0;
if(res > k) return k;
return res;
}
int32_t main(){
#ifdef LOCAL_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
ios_base::sync_with_stdio(0);
cin.tie(nullptr);
cin>>n>>k;
ld ans = INF;
vector<pair<ld,ld>> v(n);
for(int i = 0; i < n; i++){
ld x,y; cin>>x>>y;
v[i] = {x,y};
}
v.erase(unique(v.begin(), v.end(), [&](pair<int,int> a, pair<int,int> b){return a.ff == b.ff;}),v.end());
for(int i = 0; i < n; i++){
if(i != n-1){
ld chf = f(v[i],v[i+1]);
ans = max(ans, d(mp(chf,0), v[i]));
}
if(i != 0){
ld chb = f(v[i-1],v[i]);
ans = max(ans, d(mp(chb,0),v[i]));
}
}
cout<<ans<<'\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... |