CF1619E MEX and Increments
Description
Dmitry has an array of $ n $ non-negative integers $ a_1, a_2, \dots, a_n $ .
In one operation, Dmitry can choose any index $ j $ ( $ 1 \le j \le n $ ) and increase the value of the element $ a_j $ by $ 1 $ . He can choose the same index $ j $ multiple times.
For each $ i $ from $ 0 $ to $ n $ , determine whether Dmitry can make the $ \mathrm{MEX} $ of the array equal to exactly $ i $ . If it is possible, then determine the minimum number of operations to do it.
The $ \mathrm{MEX} $ of the array is equal to the minimum non-negative integer that is not in the array. For example, the $ \mathrm{MEX} $ of the array $ [3, 1, 0] $ is equal to $ 2 $ , and the array $ [3, 3, 1, 4] $ is equal to $ 0 $ .
Input Format
The first line of input data contains a single integer $ t $ ( $ 1 \le t \le 10^4 $ ) — the number of test cases in the input.
The descriptions of the test cases follow.
The first line of the description of each test case contains a single integer $ n $ ( $ 1 \le n \le 2 \cdot 10^5 $ ) — the length of the array $ a $ .
The second line of the description of each test case contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 0 \le a_i \le n $ ) — elements of the array $ a $ .
It is guaranteed that the sum of the values $ n $ over all test cases in the test does not exceed $ 2\cdot10^5 $ .
Output Format
For each test case, output $ n + 1 $ integer — $ i $ -th number is equal to the minimum number of operations for which you can make the array $ \mathrm{MEX} $ equal to $ i $ ( $ 0 \le i \le n $ ), or -1 if this cannot be done.
Explanation/Hint
In the first set of example inputs, $ n=3 $ :
- to get $ \mathrm{MEX}=0 $ , it is enough to perform one increment: $ a_1 $ ++;
- to get $ \mathrm{MEX}=1 $ , it is enough to perform one increment: $ a_2 $ ++;
- $ \mathrm{MEX}=2 $ for a given array, so there is no need to perform increments;
- it is impossible to get $ \mathrm{MEX}=3 $ by performing increments.