CF2185C.Shifted MEX

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

Shifted MEX

题目描述

给定一个长度为 nn 的整数数组 a1,a2,…,ana_1, a_2, \ldots, a_n。你可以执行下面的操作一次:

  • 选择一个整数 xx(可以为负数),对于每一个 ii (1≤i≤n)(1 \leq i \leq n),将 aia_i 变为 ai+xa_i + x。

例如,如果 a=[1,3,4,2]a = [1, 3, 4, 2],你选择 x=3x = 3 进行操作,则 aa 变为 [4,6,7,5][4, 6, 7, 5]。

请输出操作后,数组 aa 的 MEX⁡(a)∗\operatorname{MEX}(a)^{\ast} 的最大可能值。

∗\ast MEX⁡(a)\operatorname{MEX}(a) 表示数组中未出现的最小非负整数。例如,MEX⁡([1,2,0,5])=3\operatorname{MEX}([1, 2, 0, 5]) = 3,MEX⁡([1,2,4,9])=0\operatorname{MEX}([1, 2, 4, 9]) = 0。

输入格式

输入的第一行为一个整数 tt (1≤t≤1000)(1 \leq t \leq 1000),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn (1≤n≤3000)(1 \le n \le 3000),表示数组 aa 的长度。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n (−109≤ai≤109)(-10^9 \le a_i \le 10^9),表示数组 aa。

保证所有测试用例中 nn 之和不超过 30003000。

输出格式

对于每个测试用例,输出执行一次操作后 MEX⁡(a)\operatorname{MEX}(a) 的最大可能值。

说明/提示

对于第一个测试用例,可以选择 x=−4x = -4,此时 a=[0]a = [0],MEX⁡([0])=1\operatorname{MEX}([0]) = 1。

对于第二个测试用例,MEX⁡\operatorname{MEX} 已经是 44,已是最大值,因此可以选择 x=0x = 0 不进行任何变化。

由 ChatGPT 5 翻译

样例

6
1
4
5
0 1 1 2 3
2
1 1
4
4 2 3 6
5
2 4 1 0 -1
6
-1 1 2 3 5 6
1
4
1
3
4
3

在线编程 IDE

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