CF2157E.Adjusting Drones

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

PIXL - This Time

你管理着一支由 nn 架无人机组成的机队,这些无人机的能量值分别为 a1,…,ana_1, \ldots, a_n。同时,给定一个正整数 kk,表示最多允许多少架无人机拥有相同的能量值。

为了防止过载,无人机队会自动进行能量平衡操作。具体来说,只要存在某个特定的能量值在所有无人机中出现严格超过 kk 次,就会按照如下步骤进行能量平衡操作:

  • 首先,如果一架无人机 ii 满足它的能量值 aia_i 在它之前已经出现过(即存在某个 j<ij < i 使得 aj=aia_j = a_i),则标记它;
  • 然后,对每架被标记的无人机,将其能量值增加 11;
  • 最后,清除所有标记。

如果仍然存在某个特定的能量值在所有无人机中出现严格超过 kk 次,上述过程就会再次执行,直到任何特定的能量值在所有无人机中出现都不超过 kk 次。

输入格式

输入包含多组测试数据。

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示有多少组测试数据。

对于每组测试数据:

第一行包含两个整数 n,kn, k(1≤k≤n≤2×1051 \le k \le n \le 2 \times 10^5),分别表示无人机数量以及同一能量值在无人机队中允许出现的最大次数。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤2n1 \le a_i \le 2n),表示每一架无人机初始的能量值。

保证所有测试数据的 nn 之和不超过 2×1052 \times 10^5。

输出格式

对于每组测试数据,输出一行。

每行包含一个整数,表示这组测试数据需要执行的能量平衡操作的次数。

输入输出样例

  • 输入#1

    5
    6 3
    1 1 1 1 1 1
    5 1
    1 3 2 1 4
    6 2
    1 1 1 2 3 3
    4 1
    8 8 8 8
    2 2
    1 2

    输出#1

    3
    4
    4
    3
    0

说明/提示

在第一组测试数据中,无人机队的能量值变化过程如下:

  • 最初:[1,1,1,1,1,1][1, 1, 1, 1, 1, 1];
  • 11 次能量平衡操作后:[1,2,2,2,2,2][1, 2, 2, 2, 2, 2];
  • 22 次能量平衡操作后:[1,2,3,3,3,3][1, 2, 3, 3, 3, 3];
  • 33 次能量平衡操作后:[1,2,3,4,4,4][1, 2, 3, 4, 4, 4];

在进行了 33 次能量平衡操作后,每个能量值的出现次数都不超过 33,操作结束。

在第一组测试数据中,无人机队的能量值的变化过程如下:

[1,3,2,1,4]→[1,3,2,2,4]→[1,3,2,3,4]→[1,3,2,4,4]→[1,3,2,4,5][1, 3, 2, 1, 4] \rightarrow [1, 3, 2, 2, 4] \rightarrow [1, 3, 2, 3, 4] \rightarrow [1, 3, 2, 4, 4] \rightarrow [1, 3, 2, 4, 5],因此总共进行了 44 次能量平衡操作。

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

首页