它存储了若干个数据:一个正整数 $$$k$$$,以及 $$$n$$$ 个非负整数构成的数组 $$$a_1,a_2, \cdots, a_n$$$。
每次生成随机数时候,它先反复地在 $$$[1, n]$$$ 上等概率地随机生成整数,重复 $$$k$$$ 次,得到序列 $$$t_1, \dots, t_k$$$;随后计算 $$$l = \min{t_i}, r = \max{t_i}$$$,并返回 $$$\sum_{i = l}^{r}{a_i}$$$ 作为结果。
你喜欢很大的数。你心中有一个非负整数 $$$v$$$,如果随机数生成器返回的数大于等于 $$$v$$$,你就会很高兴。
经过一番友好交流,生成器的所有者允许你对内部数据进行修改。具体来说,你可以从数组 $$$a$$$ 的最前面删去连续零个或若干个数,再从最后面删去连续零个或若干个数,但不能将整个数组全部删完。随后将剩下的部分作为新的 $$$a$$$,其长度作为新的 $$$n$$$。
你需要寻找修改方案,使得返回的数大于等于 $$$v$$$ 的概率尽量大,输出这个最大概率。
第一行输入正整数 $$$T$$$,表示数据组数。
对于每组数据,第一行输入三个整数 $$$n, k, v$$$,第二行输入 $$$n$$$ 个非负整数表示 $$$a_1, \dots, a_n$$$。保证 $$$1 \le n \le 3 \times 10^5, 1 \le k \le 5, 0 \le a_i, v \le 10^9$$$。
保证 $$$T$$$ 组数据的 $$$\sum{n} \le 3\times 10^5$$$。
输出一个浮点数,表示最大概率。你需要保证绝对误差在 $$$10^{-8}$$$ 以内。
5 3 1 0 1 1 1 3 1 1 1 1 1 3 2 1 1 1 1 8 2 3 1 1 1 1 1 1 1 1 9 5 6 0 4 1 2 3 1 0 0 0
1.000000000000 1.000000000000 1.000000000000 0.656250000000 0.967454037008
| Name |
|---|


