#G0156. K游戏【2026周末欢乐赛T5】
K游戏【2026周末欢乐赛T5】
题目描述
桌面上有 张卡片,第 张卡片上写着一个正整数 。游戏按轮进行:
- 第一轮,可以从桌面上任意取走一张卡片;
- 之后每一轮,设上一轮取走的卡片上写的数是 ,则本轮只能取走写着 或写着 的卡片;
- 每张卡片最多被取走一次,取走后即从桌面移除;
- 整个过程中,已经取走的卡片上出现过的不同数值的个数不得超过 。
当某一轮无牌可取时,游戏结束。请求出游戏结束时最多能取走多少张卡片。
输入格式
第一行一个正整数 ,表示测试数据组数。
接下来依次给出 组数据,每组两行:
- 第一行两个整数 ;
- 第二行 个整数 。
输出格式
对每组数据输出一行一个整数,表示最多能取走的卡片张数。
样例 1
输入:
4
10 2
5 2 4 3 4 3 4 5 3 2
5 1
10 11 10 11 10
9 3
4 5 4 4 6 5 4 4 6
3 2
1 3 1
输出:
6
3
9
2
样例 2
输入:
4
5 2
1 2 2 5 5
6 6
10 11 12 10 11 12
7 3
1 2 3 4 1 2 3
4 1
7 7 7 9
输出:
3
6
6
3
样例解释
- 样例 1 第 1 组:最多取走 张。
- 样例 1 第 2 组:最多取走 张。
- 样例 1 第 3 组:最多取走 张,恰好是全部卡片。
- 样例 1 第 4 组:最多取走 张。例如先取走一张 ,再取走另一张 (数值仍是 ),此后桌面上只剩 ,无法继续。
- 样例 2 第 4 组:最多取走 张。把三张 依次取走之后,桌面上只剩 ,而 与 不满足取牌条件,游戏结束。
数据范围与子任务
对于全部测试点:;;;
单个测试点内 ;
子任务之间没有依赖关系。
| 子任务 | 分值 | 附加限制 | ||||
|---|---|---|---|---|---|---|
| 1 | 10 | 无 | ||||
| 2 | 15 | |||||
| 3 | ||||||
| 4 | 20 | 无 | ||||
| 5 | 40 | |||||
时间限制 秒,空间限制 MiB。
相关
在下列比赛中: