Informática Avançado – Semana 60

por

Trocando os pares

É dado um vetor de $$N$$ valores. É garantido que $$N$$ é par e cada valor aparece exatamente duas vezes no vetor.

Neste vetor, você pode realizar a seguinte operação: escolher dois números adjacentes e trocar eles. Compute o número mínimo de operações para que as duas ocorrências de cada número fiquem adjacentes uma a outra.

Entrada

A primeira linha contém um inteiro $$N$$, o tamanho do vetor.

A segunda linha contém os $$N$$ valores do vetor.

Saída

Seu programa deve imprimir o número mínimo de operações.

Restrições

• $$1 \leq N \leq 10^5$$

• Os valores do vetor estão entre $$0$$ e $$10^9$$.

Exemplos

Entrada

Saída

8
7 3 5 3 7 6 5 6
5

 

 

 

 

 

No primeiro exemplo, as trocas são as seguintes:

$$[7, 3, 5, \underline{3}, \underline{7}, 6, 5, 6]$$

$$[7, 3, \underline{5}, \underline{7}, 3, 6, 5, 6]$$

$$[7, \underline{3}, \underline{7}, 5, 3, 6, 5, 6]$$

$$[7, 7, 3, \underline{5}, \underline{3}, 6, 5, 6]$$

$$[7, 7, 3, 3, 5, \underline{6}, \underline{5}, 6]$$

$$[7, 7, 3, 3, 5, 5, 6, 6]$$