#P13298. [GCJ 2013 #3] Cheaters

    ID: 13115 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>数学贪心2013二分Special JudgeGoogle Code Jam

[GCJ 2013 #3] Cheaters

Description

你在本地赌场玩轮盘赌已经有一段时间了。轮盘赌是一种简单的赌场游戏,多个玩家可以在 003636(包含 003636)之间的一个或多个数字上下注。接下来,轮盘会朝一个方向旋转,球会朝相反方向滚动。轮盘上同样有 003636 这些数字。有些真实的轮盘还会有一个标记为 0000 的格子,但本题的轮盘没有。最终,球会落在某个数字上。如果某玩家在该数字上下注,他将获得 3636 倍的投注金额(即该注盈利为投注金额的 3535 倍),所有压在其他数字上的注则全部输掉。

不幸的是,运气一直不在你这边,你已经输了一整晚。某一时刻,你开始怀疑这轮盘赌是否公平。经过一段时间的观察,你发现了一个必然让赌场赚钱的规律:球总是落在总投注金额最少的数字上!如果有多个数字并列总投注金额最少,则球会等概率落在这些数字中之一。

当然,你会把这种作弊行为报告给相关部门,但你首先想利用你发现的新规律把输掉的钱赢回来。为此,你会等到其他所有玩家下注结束后,再下注。遗憾的是,你剩下的资金有限,不能下注超过这个额度。你可以选择在零个或多个不同的数字上下注,每个数字上下注的金额可以不同且为任意正整数,只要所有下注的总和不超过你的预算即可。你想知道,在最优下注策略下,你能获得的最大期望盈利是多少?

Input Format

第一行为测试用例数 TT。接下来有 TT 组测试数据。每组测试数据包含两行。第一行为两个整数:你剩余的资金 BB,以及其他玩家已经下注的数字数量 NN。第二行为 NN 个整数 XiX_i,表示其他玩家在这 NN 个不同数字上各自的总下注金额。

Output Format

对于每个测试用例,输出一行 "Case #x: ",后接你在最优下注策略下能获得的最大期望盈利。只要你的答案与正确答案的绝对误差或相对误差不超过 10610^{-6},即被判为正确。

3
100 1
10
34 3
5 6 7
34 4
1 1 10 10
Case #1: 0
Case #2: 2
Case #3: 0.9428571429

Hint

样例说明

在样例 22 中,你可以在 3434 个未被下注的数字上各下注 11,这样无论球落在这 3434 个数字中的哪一个,你都能获得 3636,总盈利为 3634=236 - 34 = 2。在样例 33 中,你可以在 3333 个未被下注的数字上各下注 11,此时以 33/3533/35 的概率赢得 3636,期望盈利为 33/35×363333/35 \times 36 - 33

限制条件

  • 1T1001 \leq T \leq 100
  • 1N371 \leq N \leq 37

小数据集(7 分,测试集 1 - 可见)

  • 1B,Xi1,0001 \leq B, X_i \leq 1,000

大数据集(10 分,测试集 2 - 隐藏)

  • 1B,Xi10121 \leq B, X_i \leq 10^{12}

翻译由 ChatGPT-4.1 完成。