MEXeando.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Authors:
Problem type

Luis ha descubierto un nuevo concepto matemático llamado MEX (Minimum EXcluded). El MEX de un conjunto de números es el menor entero no negativo que NO aparece en el conjunto.

Por ejemplo:

  • MEX de {1, 2, 3} es 0
  • MEX de {0, 1, 3} es 2
  • MEX de {0, 1, 2} es 3

Luis tiene varios arreglos de enteros no negativos. Para cada arreglo, quiere conocer el MEX de cada uno de sus prefijos. Es decir, para cada i desde 1 hasta N, debe calcular el MEX de los primeros i elementos.

¿Puedes ayudarlo?

Entrada

La primera línea contiene un entero T (1 \leq T \leq 10^4), el número de casos de prueba.

Cada caso de prueba consiste en dos líneas:

  • La primera línea contiene un entero N (1 \leq N \leq 10^5), el tamaño del arreglo.
  • La segunda línea contiene N enteros A_1, A_2,..., A_N (0 \leq A_i \leq 10^5).

Se garantiza que la suma de N sobre todos los casos de prueba no excede 10^5.

Salida

Para cada caso de prueba, imprime N enteros en una sola línea, donde el i-ésimo entero es el MEX del prefijo de longitud i.

Ejemplo de Entrada

  2
  6
  2 0 1 3 0 2
  3
  5 0 1

Ejemplo de Salida

  0 1 3 4 4 4
  0 1 2

Explicaciones

Primer caso:

      Prefijo [2]: MEX = 0
      Prefijo [2, 0]: MEX = 1
      Prefijo [2, 0, 1]: MEX = 3
      Prefijo [2, 0, 1, 3]: MEX = 4
      Prefijo [2, 0, 1, 3, 0]: MEX = 4
      Prefijo [2, 0, 1, 3, 0, 2]: MEX = 4

Segundo caso:

      Prefijo [5]: MEX = 0
      Prefijo [5, 0]: MEX = 1
      Prefijo [5, 0, 1]: MEX = 2

Comments

There are no comments at the moment.