← Home
write a go solution for Description:
Given an array a of length n, find another array, b, of length n such that:

- for each i (1<=i<=n) MEX(b_1, b_2, ldots, b_i)=a_i.

The MEX of a set of integers is the smallest non-negative integer that doesn't belong to this set.

If such array doesn't exist, determine this.

Input Format:
The first line contains an integer n (1<=n<=10^5) — the length of the array a.

The second line contains n integers a_1, a_2, ldots, a_n (0<=a_i<=i) — the elements of the array a. It's guaranteed that a_i<=a_i+1 for 1<=i<n.

Output Format:
If there's no such array, print a single line containing -1.

Otherwise, print a single line containing n integers b_1, b_2, ldots, b_n (0<=b_i<=10^6)

If there are multiple answers, print any.

Note:
In the second test case, other answers like [1,1,1,0], for example, are valid.. Output only the code with no comments, explanation, or additional text.