#P16529. [Dapc2024]Joppiesaus Jailbreak

[Dapc2024]Joppiesaus Jailbreak

题目背景

你开始挑战平台游戏《Bario: A Plumber's Cousin》的速通纪录。Bario 始终以每秒 10001000 像素的最高速度前进,但每一关只能在某一帧结束时完成:即使他在一帧进行到一半时到达终点,也必须等待这一帧结束后才能进入下一关。

通过在游戏光盘上涂抹一种名为 Joppiesaus 的酱料,你可以把游戏帧率调整为任意正实数,但不能超过原始帧率,而且整个游戏过程中帧率必须保持不变。

题目描述

游戏共有 nn 个关卡,第 ii 关长度为 i\ell_i 像素。Bario 的移动速度恒为每秒 10001000 像素。

设你选择的帧率为 ff',其中:

0<ff.0<f'\le f.

ii 关实际需要的帧数为:

if1000.\left\lceil \frac{\ell_i f'}{1000}\right\rceil.

因此,该关实际耗时为上述帧数除以 ff'。各关依次进行,最终计时在最后一关的最后一帧结束时停止。

请选择一个合法的实数帧率,使完成全部关卡的总时间最短,并输出这个最短时间。

例如,在第三个样例中,将帧率设为 30001249\frac{3000}{1249} 帧每秒时,两关都恰好需要 1515 帧,总耗时为 12.4912.49 秒,优于原始 1010 帧每秒下的 12.612.6 秒。

输入格式

第一行包含两个整数 n,fn,f,分别表示关卡数量和原始帧率。

第二行包含 nn 个整数 1,2,,n\ell_1,\ell_2,\ldots,\ell_n,表示每一关的长度,单位为像素。

保证:

  • 1n1051\le n\le 10^5
  • 1f1031\le f\le 10^3
  • 1i1061\le \ell_i\le 10^6
  • i=1ni106\sum_{i=1}^{n}\ell_i\le 10^6

输出格式

输出完成全部关卡所需的最短时间,单位为秒。

当你的答案与标准答案的绝对误差或相对误差不超过 10610^{-6} 时,视为正确。

样例 1

输入

1 10
1234

输出

1.234

样例 2

输入

1 10
12

输出

0.1

样例 3

输入

2 10
6245 6212

输出

12.49

样例 4

输入

2 20
6245 6212

输出

12.47409677

样例 5

输入

3 50
7146 2657 8164

输出

17.96910941