编程题
### 问题描述 小然是一名勇敢的冒险家,在一次冒险中,他发现了一个神秘的石头阵。石头阵中有 $N$ 块魔法石头,每块石头都有一个神秘的数值,形成了一个长度为 $N$ 的数组 $A_i$。 小然发现,他可以使用魔法将任意一个石头子集中的石头数值增加一个固定的整数 $X$。他的目标是使得所有石头的数值都不相同。 请你帮助小然计算出,他最少需要进行多少次魔法操作才能实现他的目标。 ### 输入格式 输入的第一行包含一个整数 $T$,表示测试用例的数量。 每个测试用例包含两行。第一行是一个整数 $N$,表示石头阵中的石头数量。第二行是 $N$ 个空格分隔的整数 $A_1, A_2, ..., A_N$,表示每块魔法石头的数值。 ### 输出格式 对于每个测试用例,输出一个整数,表示为了使所有石头的数值不同所需的最小操作次数。 ### 样例输入 ```text 4 3 3 3 3 6 1 3 2 1 2 2 4 1 2 1 2 5 1 3 2 4 6 ``` ### 样例输出 ```text 2 2 1 0 ``` ### 说明 在第一个测试用例中,我们可以选择第一块石头,将其数值增加 $1$,然后选择第二块石头,将其数值增加 $2$,这样所有石头的数值就都不同了,所以需要 $2$ 次操作。 在第二个测试用例中,我们可以选择第一块和第六块石头,将它们的数值增加 $4$,然后选择第三块石头,将其数值增加 $5$,这样所有石头的数值就都不同了,所以需要 $2$ 次操作。 ### 评测数据范围 $1 \leq T \leq 1000$。 $1 \leq N \leq 10^5$。 $1 \leq A_i \leq 10^9$。 所有测试用例的 $N$ 之和不超过 $3 \times 10^5$。
查看答案
赣ICP备20007335号-2