CF1490F.Equalize the Array

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

Equalize the Array

题目描述

Polycarp 收到了一长度为 nn 的数组 aa 作为礼物。Polycarp 认为一个数组是美丽的,当且仅当存在一个数 CC,使得数组中每个数出现的次数要么为 00,要么为 CC。Polycarp 想要通过删除数组 aa 中的一些元素,使其变为美丽数组。

例如,当 n=6n=6a=[1,3,2,1,4,2]a = [1, 3, 2, 1, 4, 2] 时,可以通过以下方式使数组 aa 变为美丽数组:

  • Polycarp 删除第 22 和第 55 个元素,数组 aa 变为 [1,2,1,2][1, 2, 1, 2]
  • Polycarp 删除第 11 和第 66 个元素,数组 aa 变为 [3,2,1,4][3, 2, 1, 4]
  • Polycarp 删除第 1,21, 2 和第 66 个元素,数组 aa 变为 [2,1,4][2, 1, 4]

请你帮助 Polycarp 计算,最少需要删除多少个元素,才能将数组 aa 变为美丽数组。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。接下来有 tt 组测试数据。

每组测试数据的第一行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5),表示数组 aa 的长度。

每组测试数据的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai1091 \le a_i \le 10^9),表示数组 aa

保证所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

对于每组测试数据,输出一个整数,表示将数组 aa 变为美丽数组所需删除的最小元素数量。

说明/提示

由 ChatGPT 4.1 翻译

样例

3
6
1 3 2 1 4 2
4
100 100 4 100
8
1 2 3 3 3 2 6 6
2
1
2

在线编程 IDE

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