#P13032. [GCJ 2021 #1C] Closest Pick

    ID: 14895 远端评测题 1000ms 1024MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>数学贪心2021Special Judge排序Google Code Jam

[GCJ 2021 #1C] Closest Pick

题目描述

你正在参加一场抽奖活动,奖品是终身免费煎饼。已有 N\textbf{N} 张彩票售出。每张彩票包含一个 11 到 K\textbf{K} 之间的整数(含端点)。不同的彩票可以包含相同的整数。你确切知道所有已售出彩票上的数字,并希望通过购买两张彩票(可以包含相同的整数)来最大化中奖概率。你可以自由选择 11 到 K\textbf{K} 之间的任意整数作为这两张彩票的数字。

你知道自己是最后一位顾客,因此在你购买彩票后,不会再有任何彩票售出。接着,系统会均匀随机选择一个 11 到 K\textbf{K} 之间的整数 cc(含端点)。如果满足以下条件之一,你将赢得抽奖:

  • 你的一张彩票到 cc 的距离严格小于其他所有彩票;
  • 你的两张彩票到 cc 的距离相同,且严格小于其他所有彩票。

否则,你将不会赢得抽奖。

给定已售出的 N\textbf{N} 张彩票上的整数,通过最优选择你的两张彩票上的整数,你能够达到的最大中奖概率是多少?

输入格式

输入的第一行包含测试用例的数量 T\textbf{T}。随后是 T\textbf{T} 个测试用例。每个测试用例包含两行:第一行是两个整数 N\textbf{N} 和 K\textbf{K},分别表示已售出的彩票数量和可选整数的上限;第二行包含 N\textbf{N} 个整数 $\textbf{P}_1, \textbf{P}_2, \ldots, \textbf{P}_\textbf{N}$,表示已售出彩票上的整数。

输出格式

对于每个测试用例,输出一行 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是你通过最优选择彩票能够达到的最大中奖概率。yy 的答案将被认为是正确的,如果其绝对误差或相对误差不超过 10−610^{-6}。关于误差范围的解释及可接受的实数格式,请参考 FAQ。

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

提示

样例解释

在样例 #1 中,你可以购买数字为 44 和 88 的彩票。当 cc 为 44、55、88、99 或 1010 时,你将赢得抽奖,中奖概率为 510=0.5\frac{5}{10} = 0.5。购买数字为 66 和 88 的彩票也能达到 0.50.5 的中奖概率,但没有其他组合能超过这一概率。

在样例 #2 中,66 和 88 是一个可能的最优组合,当 cc 为 66、88、99 或 1010 时,你将赢得抽奖。注意,已售出彩票上的数字不一定按升序排列。

在样例 #3 中,所有可能的 cc 都与至少一张已售出的彩票距离为 00,因此无论你如何选择彩票,都无法赢得抽奖。

在样例 #4 中,如果你至少选择一张数字为 33 的彩票,你将在 c=3c = 3 时赢得抽奖,中奖概率为 14=0.25\frac{1}{4} = 0.25。对于其他整数 cc,你无法获胜,因此这是你能达到的最佳概率。

数据范围

  • 1≤T≤1001 \leq \textbf{T} \leq 100。
  • 1≤N≤301 \leq \textbf{N} \leq 30。
  • 对于所有 ii,1≤Pi≤K1 \leq \textbf{P}_i \leq \textbf{K}。

测试集 1(9 分,可见判定)

  • 1≤K≤301 \leq \textbf{K} \leq 30。

测试集 2(16 分,可见判定)

  • 1≤K≤1091 \leq \textbf{K} \leq 10^9。

翻译由 DeepSeek V3 完成