CF1624A.Plus One on the Subset

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Plus One on the Subset

题目描述

Polycarp 收到了一份整数数组 a[1n]a[1 \dots n] 作为礼物。现在他希望通过若干次操作(可以为零次),使得数组中的所有元素都变成相同的值(即 a1=a2==ana_1=a_2=\dots=a_n)。

  • 每次操作时,他可以选择数组中的若干个下标,并将这些下标对应的数组元素都加 11

例如,设 a=[4,2,1,6,2]a=[4,2,1,6,2]。他可以进行如下操作:选择下标 1,2,41,2,4,并将这些位置上的元素都加 11。操作后,数组变为 a=[5,3,1,7,2]a=[5,3,1,7,2]

请问,最少需要多少次操作,才能使数组 aa 的所有元素都相等(即 a1=a2==ana_1=a_2=\dots=a_n)?

输入格式

输入的第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n501 \le n \le 50),表示数组 aa 的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9),表示数组 aa 的元素。

输出格式

对于每个测试用例,输出一个整数,表示将数组 aa 的所有元素变为相等所需的最少操作次数。

说明/提示

第一个测试用例:

  • a=[3,4,2,4,1,2]a=[3,4,2,4,1,2],选择 a3,a5a_3, a_5 并对它们执行加一操作,结果为 a=[3,4,3,4,2,2]a=[3,4,3,4,2,2]
  • a=[3,4,3,4,2,2]a=[3,4,3,4,2,2],选择 a1,a5,a6a_1, a_5, a_6 并对它们执行加一操作,结果为 a=[4,4,3,4,3,3]a=[4,4,3,4,3,3]
  • a=[4,4,3,4,3,3]a=[4,4,3,4,3,3],选择 a3,a5,a6a_3, a_5, a_6 并对它们执行加一操作,结果为 a=[4,4,4,4,4,4]a=[4,4,4,4,4,4]

还有其他 33 次操作的方案,也能使所有元素相等。

第二个测试用例:

  • a=[1000,1002,998]a=[1000,1002,998],两次选择 a1,a3a_1, a_3 并执行加一操作,结果为 a=[1002,1002,1000]a=[1002,1002,1000]
  • a=[1002,1002,1000]a=[1002,1002,1000],再两次选择 a3a_3 并执行加一操作,结果为 a=[1002,1002,1002]a=[1002,1002,1002]

第三个测试用例:

  • a=[12,11]a=[12,11],选择 a2a_2 并执行加一操作,结果为 a=[12,12]a=[12,12]

由 ChatGPT 4.1 翻译

样例

3
6
3 4 2 4 1 2
3
1000 1002 998
2
12 11
3
4
1

在线编程 IDE

建议全屏模式获得最佳体验