P0027

飞向天空的约定(star)

飞向天空的约定(star)

就算我们不抬头仰望,星空,也永远注视着我们。

无数曾伴你同行的水母化作了点点星光,缓缓升入无垠的夜空。它们可以用无限长的数轴上的 nn 个点表示,第 ii 个点初始位于 aia_i。同一个位置可以有多个点。

Index 想要对这些点进行任意次演化,次数可以为 00。在一次演化中,她会:

  • 选择一个当前至少包含两个点的位置 xx;
  • 将 xx 处的点数量减少 22;
  • 将 x−1x-1 和 x+1x+1 处的点数量各增加 11。

Index 想知道在操作结束后,所有点的位置构成的集合的 mex⁡\operatorname{mex} 的最大可能值。

其中,对于一个整数集合 SS,mex⁡(S)\operatorname{mex}(S) 定义为最小的不属于 SS 的非负整数。

样例 1 输入

1
4
1 1 2 2

样例 1 输出

4

样例 1 解释

一种操作方式为 {1,1,2,2}→{0,2,2,2}→{0,1,2,3}\{1,1,2,2\}\to\{0,2,2,2\}\to\{0,1,2,3\}。

此时所有点的位置为 {0,1,2,3}\{0,1,2,3\},其 mex⁡\operatorname{mex} 为 44。可以证明答案不可能更大。

正文配图

样例 2

见附加文件中的 star2.in 和 star2.ans。

该样例满足测试点 44 的限制。

样例 3

见附加文件中的 star3.in 和 star3.ans。

该样例满足测试点 1010 的限制。

样例 4

见附加文件中的 star4.in 和 star4.ans。

该样例满足测试点 1414 的限制。

样例 5

见附加文件中的 star5.in 和 star5.ans。

该样例满足测试点 1616 的限制。

样例 6

见附加文件中的 star6.in 和 star6.ans。

该样例满足测试点 2525 的限制。

输入格式

本题有多组测试数据。

第一行包含一个整数 TT,表示测试数据组数。

对于每组测试数据:

  • 第一行包含一个整数 nn;
  • 第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n,表示每个点的初始位置。

输出格式

对于每组测试数据,输出一行一个整数,表示可达到的最大 mex⁡\operatorname{mex}。

提示

对于所有测试数据,保证:

  • 1≤T≤5×1051 \le T \le 5\times10^5;
  • 1≤n,∑n≤5×1051\le n,\sum n\le 5\times 10^5;
  • 0≤ai≤1090\le a_i\le 10^9。
测试点编号∑n≤\sum n\leqai≤a_i\leq特殊性质
1∼31\sim 3808088否
4∼94\sim 92000200020002000否
10∼1310\sim 135×1045\times 10^45×1045\times 10^4否
14,1514,155×1045\times 10^410910^9否
16,1716,175×1055\times 10^510910^9是
18∼2518\sim 255×1055\times 10^510910^9否
  • 特殊性质:保证所有 aia_i 相同。

下发大样例