QOJ.ac

QOJ

Límite de tiempo: 10 s Límite de memoria: 1024 MB Puntuación total: 25

#12455. 最近的挑选

Estadísticas

你正在参加一场赢取终身免费煎饼的抽奖活动。目前已经售出了 $N$ 张票。每张票上都写有一个 $1$ 到 $K$(包含 $1$ 和 $K$)之间的整数。不同的票允许写有相同的整数。你确切地知道所有已售出票上的数字,并希望通过购买两张票(这两张票上的数字可以相同)来最大化你获胜的几率。你可以自由选择这两张票上 $1$ 到 $K$ 之间的整数。

你知道你是最后一位顾客,所以当你购买完票后,不会再有其他票被售出。随后,系统会从 $1$ 到 $K$(包含 $1$ 和 $K$)之间均匀随机地选择一个整数 $c$。如果你的其中一张票比所有其他票更接近 $c$,或者你的两张票到 $c$ 的距离相等且比所有其他票更接近 $c$,那么你就赢得了抽奖。否则,你没有获胜。

给定目前已售出票上的整数,通过最优地选择你两张票上的整数,你能获得的最高获胜概率是多少?

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含两行。第一行包含两个整数 $N$ 和 $K$:分别表示已售出的票数和可选整数的范围上限。第二行包含 $N$ 个整数 $P_1, P_2, \dots, P_N$,表示已售出票上的整数。

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是你最优选择票时能达到的最高获胜概率。

如果 $y$ 与正确答案的绝对误差或相对误差不超过 $10^{-6}$,则被视为正确。请参阅 FAQ 以了解其含义以及我们接受的实数格式。

数据范围

$1 \le T \le 100$。 $1 \le N \le 30$。 $1 \le P_i \le K$,对于所有 $i$。

测试集 1(可见判定) $1 \le K \le 30$。

测试集 2(可见判定) $1 \le K \le 10^9$。

样例

样例输入 1

4
3 10
1 3 7
4 10
4 1 7 3
4 3
1 2 3 2
4 4
1 2 4 2

样例输出 1

Case #1: 0.5
Case #2: 0.4
Case #3: 0.0
Case #4: 0.25

说明

在样例 #1 中,你可以购买写有整数 $4$ 和 $8$ 的票,这样当 $c$ 为 $4, 5, 8, 9$ 或 $10$ 时你获胜,获胜概率为 $5/10 = 0.5$。购买写有整数 $6$ 和 $8$ 的票也能获得 $0.5$ 的获胜概率,但没有组合能获得更高的概率。

在样例 #2 中,$6$ 和 $8$ 是一组可能的最佳票,当 $c$ 为 $6, 8, 9$ 或 $10$ 时获胜。注意,票上的整数不一定按排序顺序给出。

在样例 #3 中,每个可能的 $c$ 到某张已售出的票的距离均为 $0$,因此无论你如何选择都无法获胜。

在样例 #4 中,如果你至少有一张票选为 $3$,则当 $c = 3$ 时你获胜,获胜概率为 $1/4 = 0.25$。当 $c$ 为其他任何整数时都无法获胜,因此这是你能做到的最好结果。

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.