#S1013. 数组的MEX

数组的MEX

题目描述

你有一个由 nn 个非负整数组成的数组,在一次操作中,你可以选择其中一个数,把这个数加一,你可以选择同一个数进行该操作多次。对于每个i0ini(0 \leqslant i \leqslant n),确定是否可以使得该数组的MEX正好等于ii。如果可能,则确定执行此操作的最小操作数。 数组的MEX等于在这个数组中未出现的最小非负整数,如[ 3 , 1 , 2 ] 的MEX是0

输入格式

第一行包含一个整数t(1<=t<=104)t (1<= t <= 10^4) , 表示输入的

测试数据组数

以下是每组数据的描述

第一行一个整数n(1<=2105)n (1<=2*10^5),表示数组的长度

第二行包含n个整数a1,a2,....,ana_1,a_2, .... , a_n, (0<=ai<=n)( 0 <= a_i <= n)

保证所有n的总和不超过21052*10^5

输出格式

对每一个测试用例输出n+1个整数,第i个整数等于使得

数组的MEX等于i(0<=i<=n)i(0 <= i <= n ) 所需要的最小操作

数量,如果无法做到则输出-1

样例

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