题目描述
对于一个数列 $A=\{a_1,a_2,\cdots,a_n\}$,有如下定义:
$A$ 为一个排列当且仅当每个数的范围在 $[0,n)$ 且每个数都只出现一次。
前缀 $A[i]$ 表示 $A$ 的长度为 $i$ 的前缀,即 $A[i]=\{a_1,a_2,\cdots,a_i\}$。
$MEX(A[i])$ 表示 $A$ 的长度为 $i$ 的前缀中没出现过的最小的非负整数。
给定一个长度为 $n$ 的数列 $B=\{b_1,b_2,\cdots,b_n\}$,学姐想让聪明的你构造出一个排列 $A=\{a_1,a_2,\cdots,a_n\}$,使得 $b_i=MEX(A[i]),\forall i\in[1,n]$。
输入格式
第一行一个正整数 $n(1\leqslant n\leqslant 10^5)$,第二行 $n$ 个正整数 $b_1,b_2,\cdots,b_n$。
输出格式
输出 $n$ 个数,$a_1,a_2,\cdots,a_n$,要求是一个排列且满足以上条件,如果有多种方案,输出任意一种,数据保证一定有答案。