小红关鸡
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述


n个鸡窝排成一排,第i个鸡窝在数轴上的坐标是x_i,有一只小鸡会随机的在一个鸡窝中出现。小红准备在数轴上放置两个栅栏,如果小鸡出现在两个栅栏中间(包括端点),则将被小红关住。为了方便管理,两个栅栏之间的最大距离不能超过k。现在小红希望最大化成功“关鸡”的概率,请你帮小红求出这个概率。

输入描述:

第一行输入两个正整数n,k,代表鸡窝的数量和栅栏的最远距离。
第二行输入n个整数x_i,代表每个鸡窝的位置。
1\leq n \leq 10^5
1 \leq k \leq 10^9
-10^9\leq x_i \leq 10^9

输出描述:

一个浮点数,代表小红成功关鸡的概率。如果你的答案和标准答案的误差不超过10^{-4},则认为你的答案正确。
示例1

输入

复制
5 5
2 3 -1 4 9

输出

复制
0.8

说明

小红将两个栅栏放置在 -1 和 4 这两个点,这样有 80% 的概率能成功关鸡。