#532. 改变 mex

改变 mex

题目描述

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

  • 选择一个整数 xx(可以为负数),对于每一个 ii (1in)(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]

请输出操作后,数组 aamex\operatorname{mex} 的最大值。

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

输入格式

本题有多组数据

第一行输入一个整数 tt 表示测试数据组数。对于每一组数据:

  • 第一行输入一个整数 nn 表示数组长度。
  • 第二行输入 nn 个空格隔开的整数 a1,a2,,ana_1,a_2,\ldots,a_n

输出格式

对于每一组数据输出 mex(a)\operatorname{mex}(a) 的最大可能值。

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

提示

样例解释

  • 第一组测试数据,可以选择 x=4x = -4,此时 a=[0]a = [0]mex([0])=1\operatorname{mex}([0]) = 1

  • 第二组测试数据,mex\operatorname{mex} 已经是 44,已是最大值,因此可以选择 x=0x = 0 不进行任何变化。

数据范围

对于 100%100\% 的数据满足:1t10001\leq t\leq 10001n30001\leq n\leq 3000

  • 子任务 1(3030 分):0ai200\leq a_i\leq 20
  • 子任务 2(3030 分):n20n\leq 20
  • 子任务 3(4040 分):无特殊限制。