#P12981. [GCJ 2022 Qualification] d1000000
[GCJ 2022 Qualification] d1000000
Description
虽然最常见的骰子有 6 个面,每个面显示 1 到 6 的不同整数,但许多游戏会使用其他类型的骰子。特别地, 表示一个有 个面的骰子,每个面显示 1 到 的不同整数。 是标准骰子, 有四个面,而 有一百万个面。

在这个问题中,我们从一个包含 个骰子的集合开始。第 个骰子是 ,即它有 个面,分别显示 到 的整数。从 开始、长度为 的顺子是指整数序列 , , , 。我们需要选择部分(或全部)骰子,并从每个骰子中选取一个数字来组成一个顺子。用这种方式我们能组成的最长顺子有多长?
Input Format
输入的第一行给出测试用例的数量 。随后是 个测试用例。每个测试用例由两行描述:第一行包含一个整数 ,表示游戏中的骰子数量;第二行包含 个整数 , , , ,分别表示每个骰子的面数。
Output Format
对于每个测试用例,输出一行 Case #x: y,其中 是测试用例编号(从 开始), 是能组成顺子的最长骰子数量。
4
4
6 10 12 8
6
5 4 5 4 4 4
10
10 10 7 6 7 4 4 5 7 4
1
10
Case #1: 4
Case #2: 5
Case #3: 9
Case #4: 1
Hint
样例解释
在样例 #1 中,有多个方法可以用所有 个骰子组成一个顺子。上图展示了一种可能的方式。
在样例 #2 中,由于所有骰子的最大面数都不超过 ,因此无法组成超过 个骰子的顺子。有多种方法可以组成恰好 个骰子的顺子,例如:从两个 中选取 和 ,再从三个 中选取 、 和 ,形成顺子 。
在样例 #3 中,可以通过丢弃一个 并使用剩余的 、 和 获取 到 ,用 获取 到 ,用 获取 和 ,从而组成顺子 。无法组成长度为 的顺子,因此这是最优解。
在样例 #4 中,我们只能组成长度为 的顺子,但可以通过从给定的 中任选一个数字来实现。
限制条件
- 。
测试集 1(9 分,可见评测结果)
- 。
- ,对所有 成立。
测试集 2(11 分,可见评测结果)
- 。
- ,对所有 成立。
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号