957C

题意:

给你一个数列E,E1<E2<E3<...<EnE,保证E1<E2<E3<...<En。
请你选出3个数Ei<Ej<Ek(EkEi<=U),使η=EkEjEkEiEi<Ej<Ek(Ek−Ei<=U),使得η=Ek−EjEk−Ei最大

输入格式:

第一行2个整数n和U(3n105,1U109)(3 ≤ n ≤ 105,1 ≤ U ≤ 109),表示数列元素个数和题意中的U
第二行包含n个整数E1,E2,...,En(1E1<E2...<En109)E1, E2, ..., En(1 ≤ E1 < E2... < En ≤ 109)

输出格式:

仅一行,若不存在ηη则输出-1,否则输出最大的η(109)η(与标准答案误差小于10−9即为正确)
建议输出保留小数位数10位以上

样例:

input
4 4
1 3 5 7
output
0.5
inputCopy
10 8
10 13 15 16 17 19 20 22 24 25
output
0.875
inputCopy
3 1
2 5 10
output
-1

note:

在第一个样例中,选择E1,E2 and E3, η=5351=0.5η=5−35−1=0.5.

在第二个样例中,选择E4, E5 and E9, η=24172416=0.875η=24−1724−16=0.875.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值