Filas extrañas


Submit solution

Points: 100 (partial)
Time limit: 2.0s
Memory limit: 1G

Authors:
Problem types
Allowed languages
C, C++, Java, JS, Pascal, Python, VB

En la Convención y Feria Informática 2022 se ha decidido fomentar el diálogo entre los representantes de las empresas asistentes. Un detalle interesante que han notado es que en las filas para entrar al evento existen demasiados dúos conformados por miembros de una misma empresa, por tanto, si se detecta un dúo se le pide a los asistentes que se retiren de la fila.

El proceso de purificación de la fila puede volverse tedioso al hacerlo manualmente, por eso se ha lanzado un concurso entre los programadores asistentes para que desarrollen un software que permita conocer la longitud de la fila cada vez que llegue un asistente.

De antemano se conoce la cantidad N de personas que asistirán, cada una identificada por un entero a_i que representa la empresa a la que pertenecen. Para cada instante de tiempo i determine la cantidad de personas que permanecen en la fila luego de arribar el i-ésimo participante, recuerde si se detectan K (2 o más) representantes de una misma empresa alineados estos K desaparecerán de la fila instantáneamente.

Restricciones

  • 1 \leq N \leq 2*10^5
  • 1 \leq a_i \leq 2*10^5  (1 \leq i \leq N)

Todos los valores en la entrada son enteros.

Entrada

La entrada se proporciona desde la entrada estándar en el siguiente formato: en la primera línea se escribirá N y en la próxima a_1 ... a_N

Salida

Imprimir N líneas. La i-ésima línea (1 \leq i \leq N) debe contener el número de personas después de arribar el i-ésima persona.

Ejemplo #1 de Entrada

5
3 2 3 2 2

Ejemplo #1 de Salida

1 
2 
3 
4 
3

La composición de la fila cambia de la siguiente manera:

  • Después de arribar la 1ra persona, la fila contiene la persona con identificador 3.
  • Después de arribar el 2da persona, la fila contiene 3,2 de inicio a fin.
  • Después de arribar el 3ra persona, la fila contiene 3,2,3 de inicio a fin.
  • Después de arribar el 4ta persona, la fila contiene 3,2,3,2 de inicio a fin.
  • Después de arribar el 5ta persona, la fila tiene momentáneamente 3,2,3,2,2 de inicio a fin. Las dos personas consecutivas con identificador 2 desaparecen y la fila finalmente contiene 3,2,3 de inicio a fin.

Ejemplo #2 de Entrada

10
2 3 2 3 3 3 2 3 3 2

Ejemplo #2 de Salida

1
2
3
4
5
3
2
3
1
0

Comments

There are no comments at the moment.