#155. 土拨鼠的跳床

土拨鼠的跳床

No testdata at current.

故事背景

土拨鼠小庭开了一家店,店中摆设了许多跳床。小庭请它的nn位朋友们来这里玩。

题目描述

小庭有nn个跳床,也有nn个好朋友。

由于品牌不同,跳床的弹力也不同,第ii张跳床能把土拨鼠弹起tit_i高。

但是一些好品牌的跳床弹力过于大,正巧小庭店的高度只有hh,为了不让它的好朋友撞上天花板,小庭在天花板上安装了一台强力风扇。风扇能把土拨鼠的高度下降kk。(风扇自身高度忽略不计)

因为风扇很大,它最多能同时吹到xx个相邻的跳床。(当然,你可以只让风扇吹一个或几个跳床,不一定全部吹着)这多个跳床上的土拨鼠总共会下降kk

注意的是,风扇给多个跳床风的时候,风力的大小你可以修改。比如这台风扇能同时吹到x=4x=4个跳床,跳床上的土拨鼠一共会下降k=10k=10,那么这4个跳床上的土拨鼠分别可以下降(1,2,3,4)或(1,5,2,2)或(7,1,1,1)……也可以是(0 ,10,0,0)或(9,0,1,0)……但前提是这xx张跳床必须相邻。

小庭是一只高质量土拨鼠,他不想让好朋友撞上天花板。请你编程计算出来在小庭的好朋友们都不撞上天花板时,它们能跳起的平均高度是多少。

重要提示:

  • 风扇可以选择不开,但如果开就必须一共下降kk
  • 如果弹起的高度正好等于天花板的高度,那么这只土拨鼠不算被撞到。

格式

输入

第一行四个整数n,h,k,xn,h,k,x ,含义如上。

第二行nn个整数,为各个跳床的弹力。

输出

输出小庭的好朋友们都不撞上天花板时,它们能跳起的平均高度是多少。结果并保留2位小数。如果无论如何总会有土拨鼠跳到天花板上,请输出-1。

样例

5 10 7 3
1 14 3 4 11
-1

因为无论怎么放风扇,2号跳床和5号跳床中总会有一只土拨鼠撞到天花板上。因此输出-1。

7 9 7 4
8 13 9 1 12 7 6
7.00

风扇将2号位置的跳床和5号位置的跳床上的土拨鼠分别吹下4和3后,7值土拨鼠都没有撞到天花板。高度的平均值是7。

数据范围

1n1061 \le n \le 10^6

1h,x1041 \le h, x \le 10^4

1k,ti1051 \le k, t_i \le 10^5