Universal Cup Judging System

Universal Cup

Time Limit: 2.0 s Memory Limit: 1024 MB Total points: 100 Difficulty: [show] Hackable ✓
Statistics

小蓝鱼(Little Cyan Fish)正在玩一些瓶子。在他的桌子上,有 $n + 2$ 个足够大的容器,编号为 $0, 1, \dots, n + 1$。

最初,容器 $0$ 含有质量为 $\frac{X}{1000}$ 的水,而容器 $n + 1$ 是空的。对于每个 $i = 1, \dots, n$,容器 $i$ 含有总质量为 $1$ 的均匀混合物,其中含有 $\frac{E_i}{1000}$ 的乙醇和 $1 - \frac{E_i}{1000}$ 的水。

小蓝鱼可以重复进行以下操作任意(有限)次(可能为零次):

  1. 选择一个下标 $i$($0 \le i \le n$)和一个实数 $x > 0$,使得:如果 $i \ge 1$,容器 $i$ 当前含有的混合物质量至少为 $1 + x$(然而,对于 $i = 0$,我们要求将条件中的 $1 + x$ 替换为 $x$)。
  2. 将质量为 $x$ 的混合物从容器 $i$ 倒入容器 $i + 1$,然后搅拌容器 $i + 1$ 的内容物,使得到的混合物变得均匀。

是的……我知道你已经厌倦了又一个构造题。因此,小蓝鱼为你准备了这份礼物。他要求你求出在进行有限次操作后,最终可能留在容器 $n + 1$ 中的乙醇质量的上确界(即最小上界,不一定能达到)。这听起来不错吧?

输入格式

单个输入文件中包含多组测试数据。输入的第一行包含一个整数 $T$($1 \le T \le 1000$),表示测试数据的组数。对于每组测试数据:

第一行包含两个整数 $n$ 和 $X$($1 \le n \le 20$,$1 \le X \le 1000$)。

第二行包含 $n$ 个整数 $E_1, E_2, \dots, E_n$($0 \le E_i \le 1000$)。

输出格式

对于每组测试数据,输出一行,包含一个实数,表示操作后容器 $n + 1$ 中乙醇质量的上确界。

如果你的答案与标准答案的绝对误差或相对误差不超过 $10^{-9}$,则视为正确。具体来说,假设你的输出为 $x$,评测答案为 $y$,当且仅当 $\frac{|x-y|}{\max(1, |y|)} \le 10^{-9}$ 时,你的输出才会被接受。

样例

输入 1

2
1 900
1000
2 345
678 910

输出 1

0.59343034025940088812
0.29768625581348055032

输入 2

1
3 210
406 364 961

输出 2

0.18956125995075295122

说明

例如,对于第一组测试数据,你可以通过执行以下操作,使最终留在容器 2 中的乙醇质量等于 $\frac{23}{45}$:

  1. 将质量为 $0.5$ 的混合物从容器 $0$ 倒入容器 $1$。
  2. 将质量为 $0.4$ 的混合物从容器 $1$ 倒入容器 $2$。
  3. 将质量为 $0.4$ 的混合物从容器 $0$ 倒入容器 $1$。
  4. 将质量为 $0.5$ 的混合物从容器 $1$ 倒入容器 $2$。

事实上,通过合理的操作,你可以达到约 $0.593\dots$ 的质量。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.