在经历了准备 COCI 的疲惫一天,只睡了三个小时且每 20 分钟就被打断一次,最后又被调皮的 Patrick 和 Josip 搞得心烦意乱之后,Vito 终于睡着了。
Vito 一向是个和平主义者,为了表达对那些(不)靠谱朋友们不听话行为的无奈,Vito 梦见了 $n$ 面白旗。这些白旗呈直角三角形,在空中飘扬,其中一条边与地面平行。早晨醒来时,Vito 只记得几个关键细节……第 $i$ 面旗帜斜边的长度为 $r_i$,且所有旗帜高度之和最多为 $S$。
醒来后,他决定要在海滩上战斗,永不投降!他冲向最近的油漆店,这样下次梦见这 $n$ 面白旗时,他就能把它们涂上颜色!但他很快意识到,他不确定自己需要买多少油漆。因此,他请求你计算在满足约束条件的情况下,这 $n$ 面白旗总面积的最大值!
输入格式
第一行包含整数 $n$ 和 $S$ ($1 \le n \le 100\,000, 1 \le S \le 10^{10}$),分别表示旗帜的数量和旗帜高度之和的最大值。
下一行包含 $n$ 个整数 $r_i$ ($1 \le r_i \le 100\,000$)。
输出格式
输出一行,表示旗帜总面积的最大值。如果你的答案与标准答案的绝对误差或相对误差小于 $10^{-6}$,则视为正确。
子任务
| 子任务 | 分值 | 约束条件 |
|---|---|---|
| 1 | 41 | $n \le 100$ |
| 2 | 22 | $n \le 1000$ |
| 3 | 47 | 无额外约束 |
样例
输入 1
2 3 4 5
输出 1
6.5200982141
输入 2
1 6 10
输出 2
24.0000000000
输入 3
4 7 5 5 6 6
输出 3
18.5706715170
说明
第二个样例的说明: 最大面积由边长为 6、8 和 10 的旗帜实现,总面积为 24。
Figure 1. Vito 梦见的 n 面白旗