20. Compresión de secuencias usando std::map y std::vector

C++ Medium STL

Tarea «20. Compresión de secuencias usando std::map y std::vector»

Dada una secuencia de números enteros. Es necesario realizar la compresión de la secuencia: reemplazar cada número por su número de orden en la primera aparición (comenzando desde 1). Los números de orden deben ser únicos para cada número. Use std::map para almacenar la correspondencia entre el número y su número de orden, y muestre el resultado en el orden de la secuencia original.

Formato de entrada

En la primera línea, un número entero N (1 ≤ N ≤ 10^6). En la segunda línea, N números enteros separados por espacios, con valores de -10^9 a 10^9.

Formato de salida

Imprima N números enteros — los números de orden para cada número en la secuencia original, separados por un espacio.

Ejemplos

Ejemplo 1

ENTRADA
5 1 2 1 3 2
SALIDA
1 2 1 3 2

Ejemplo 2

ENTRADA
2 1 3.0 2 4.0 5.0
SALIDA
28.27 20.00

Ejemplo 3

ENTRADA
3 100 100 100
SALIDA
1 1 1

Ejemplo 4

ENTRADA
1 2 2.5 3.5
SALIDA
1

Ejemplo 5

ENTRADA
6 ADD Write report 3 ADD Fix bug 5 ADD Update docs 2 PENDING COMPLETE Fix bug PENDING
SALIDA
Fix bug, Write report, Update docs Write report, Update docs
main.cpp