#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<ll> vl;
typedef pair<ll,ll> pl;
#define forr(i,a,b) for(int i=int(a);i<int(b);++i)
#define forn(i,n) forr(i,0,n)
#define dforr(i,a,b) for(int i=int(b)-1;i>=int(a);--i)
#define dforn(i,n) dforr(i,0,n)
#define fore(e,c) for(const auto &e : (c))
#define all(x) (x).begin(), (x).end()
#define pb push_back
#define fi first
#define se second
const ll MAXN = -1;
const ll mod = 1e9+7;
const ll inf = 1e18+10;
typedef long double ld;
void solve(){
ll n, sz; cin >> n >> sz;
vector<pl> c(n);
forn(i, n) cin >> c[i].fi >> c[i].se;
ld ans = 0;
forn(i, n) {
ld l, r;
ld x = c[i].fi;
ld y = c[i].se;
if (i == 0) l = 0;
else {
ld x1 = c[i-1].fi;
ld y1 = c[i-1].se;
if (x1 == x) continue;
l = (x*x + y*y - x1*x1 - y1*y1) / (-2*x1 + 2*x);
}
if (i == n-1) r = sz;
else {
ld x1 = c[i+1].fi;
ld y1 = c[i+1].se;
if (x1 == x) continue;
r = (x*x + y*y - x1*x1 - y1*y1) / (-2*x1 + 2*x);
}
if (l > r) continue;
ans = max(ans, (l - x)*(l-x) + y*y);
ans = max(ans, (r - x)*(r-x) + y*y);
}
ans = sqrtl(ans);
cout << fixed << setprecision(6) << ans;
}
int main(){
ios::sync_with_stdio(0); cin.tie(0);
int tt = 1;
while(tt--) solve();
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... |