#P1663. Bileo and Mex and Max

Bileo and Mex and Max

背景

特别适合初学者,^_^

题目描述

在荒野更深处,Bileo 和 Jily 发现了一个神秘的数字序列。
这个序列的每一个前缀都有两个重要的特征值:MEX 和最大值。
通过重新排列这个序列,可以产生一种特殊的魔法。

给定一个长度为 nn 的非负整数数组 aa

你可以任意重新排列数组 aa

对于重新排列后的数组,考虑它的每一个前缀:

a1,a2,,aia_1,a_2,\ldots,a_i

这个前缀的贡献为:

$$\operatorname{mex}(a_1,a_2,\ldots,a_i)+\max(a_1,a_2,\ldots,a_i)$$

你需要最大化所有前缀贡献之和,即最大化:

$$\sum_{i=1}^{n} \left( \operatorname{mex}(a_1,a_2,\ldots,a_i) + \max(a_1,a_2,\ldots,a_i) \right)$$

其中,mex\operatorname{mex} 表示一个整数集合中没有出现过的最小非负整数。

例如,集合 {0,1,3}\{0,1,3\}mex\operatorname{mex}22,集合 {1,2,3}\{1,2,3\}mex\operatorname{mex}00

请输出能够得到的最大值。

格式

输入

每个测试点包含多组测试数据。

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

接下来是每组测试数据的描述。

每组测试数据第一行包含一个整数 nn,表示数组长度。

第二行包含 nn 个整数:a1,a2,,ana_1,a_2,\ldots,a_n

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

1t104 1 \leq t \leq 10^4

1n2105 1 \leq n \leq 2 \cdot 10^5

0ai109 0 \leq a_i \leq 10^9

输出

对于每组测试数据,输出一行一个整数,表示所有前缀贡献之和的最大值。

样例

5
5
0 0 0 0 0
2
0 1
5
1 1 1 1 0
6
1 1 4 5 1 4
1
1000000000
5
4
13
30
1000000000

限制

2秒,512MiB,每个测试点。