20. Compressão de sequência usando std::map e std::vector
C++
Medium
STL
Tarefa «20. Compressão de sequência usando std::map e std::vector»
Dada uma sequência de inteiros. É necessário realizar a compressão da sequência: substituir cada número pelo seu número de ordem na primeira aparição (começando em 1). Os números de ordem devem ser únicos para cada número. Use std::map para armazenar a correspondência entre o número e seu índice, e exiba o resultado na ordem da sequência original.
Formato de Entrada
Na primeira linha, um inteiro N (1 ≤ N ≤ 10^6). Na segunda linha, N inteiros separados por espaços, com valores de -10^9 a 10^9.
Formato de Saída
Imprima N inteiros — os números de ordem para cada número na sequência original, separados por espaço.
Exemplos
Exemplo 1
ENTRADA
5
1 2 1 3 2
SAÍDA
1 2 1 3 2
Exemplo 2
ENTRADA
2
1
3.0
2
4.0 5.0
SAÍDA
28.27
20.00
Exemplo 3
ENTRADA
3
100 100 100
SAÍDA
1 1 1
Exemplo 4
ENTRADA
1
2
2.5 3.5
SAÍDA
1
Exemplo 5
ENTRADA
6
ADD Write report 3
ADD Fix bug 5
ADD Update docs 2
PENDING
COMPLETE Fix bug
PENDING
SAÍDA
Fix bug, Write report, Update docs
Write report, Update docs
main.cpp