CF2160A.MEX Partition

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

MEX Partition

题目描述

设多重集 BB 的一个划分为一些多重集 s1,s2,,sks_1, s_2,\ldots, s_k 构成的集合,使得每个元素在 BB 与所有 s1,s2,,sks_1,s_2,\ldots,s_k 中出现的次数相同。

例如,{1,2,3,3}\{1,2,3,3\} 的一些划分包括 {1,3}+{2,3}\{1,3\}+\{2,3\}{1,2,3,3}\{1,2,3,3\}、以及 {2}+{1,3}+{3}\{2\}+\{1,3\}+\{3\},但是不包括 {1,2}+{3}\{1,2\}+\{3\}

如果所有多重集的 mex\operatorname{mex}^* 均相同,则称这个划分为“合法”划分。合法划分的得分为划分中任意一个多重集的 mex\operatorname{mex}

现给定一个大小为 nn 的多重集 AA。请你求出所有合法划分的最小得分。

^* 对于整数集 c1,c2,,ckc_1, c_2, \ldots, c_kmex\operatorname{mex}(最小未出现数)定义为不在集合 cc 中的最小非负整数 xx

输入格式

每个测试点包含多组测试数据。第一行包含测试组数 tt1t1001 \le t \le 100)。接下来是各组测试数据。

每组测试数据第一行包含整数 nn1n1001 \leq n \leq 100)。

第二行包含 nn 个整数 A1,A2,,AnA_1, A_2, \ldots, A_n,表示多重集 AA 的元素(0Ai1000 \leq A_i \leq 100)。

不保证输入的元素按递增顺序给出。

输出格式

对于每组测试数据,输出所有合法划分的最小得分。

说明/提示

在第一个测试用例中,最小得分 11 可以通过划分 {0}+{0}+{0}\{0\}+\{0\}+\{0\} 得到。该划分是合法的,因为每个多重集的 mex\operatorname{mex} 都为 11,这即为该划分的得分。

在第二个测试用例中,我们可以将 {1,2}\{1,2\} 作为分组中唯一的多重集,该多重集的 mex\operatorname{mex}00

由 ChatGPT 5 翻译

样例

2
3
0 0 0
2
1 2
1
0

在线编程 IDE

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