CF2025C.New Game

普及-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Monocarp 想玩一个新游戏。这个游戏使用一副有 nn 张牌的牌堆,第 ii 张牌上写着一个整数 aia_i。

游戏开始时,在第一回合,Monocarp 可以从牌堆中拿走任意一张牌。在之后的每一回合,Monocarp 只能拿走一张牌,这张牌上写的数字要么与上一回合拿走的牌上的数字相同,要么比上一回合拿走的牌上的数字大 11。

换句话说,如果上一回合 Monocarp 拿走的牌上的数字是 xx,那么这一回合他可以拿走数字为 xx 或 x+1x+1 的任意一张牌,无论它在牌堆中的位置如何。

每当 Monocarp 拿走一张牌,这张牌就会从牌堆中移除。

根据游戏规则,Monocarp 拿走的牌上所写的不同数字的数量不能超过 kk。

如果在某一回合后,Monocarp 无法在不违反上述规则的情况下继续拿牌,游戏就结束。

你的任务是:给定初始牌堆,求 Monocarp 在游戏中最多能拿走多少张牌。第一回合可以拿任意一张牌。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nn 和 kk(1≤k≤n≤200 0001 \le k \le n \le 200\,000),分别表示牌堆中的牌数和 Monocarp 能拿的牌上不同数字的最大数量。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1091 \le a_i \le 10^{9}),表示每张牌上的数字。

输入的额外限制:所有测试用例中 nn 的总和不超过 200 000200\,000。

输出格式

对于每个测试用例,输出一行,表示 Monocarp 在游戏中最多能拿走的牌数。

输入输出样例

  • 输入#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

    输出#1

    6
    3
    9
    2

说明/提示

在第一个样例中,Monocarp 需要先拿任意一张数字为 33 的牌。接下来的两回合,他需要拿剩下的两张数字为 33 的牌。再接下来的三回合,他需要拿三张数字为 44 的牌。之后,Monocarp 将无法再拿牌,此时他一共拿了 66 张牌。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页