Remoção de duplicatas de um array ordenado com limite de repetições
C++
Medium
arrays
Tarefa «Remoção de duplicatas de um array ordenado com limite de repetições»
Dado um array de inteiros ordenado em ordem não decrescente. É necessário remover as duplicatas de forma que cada elemento apareça no máximo duas vezes e retornar o comprimento do novo array. Os elementos restantes do array após esse comprimento não são importantes. A solução deve ser feita sem usar memória adicional (in-place).
Formato de Entrada
A primeira linha contém um inteiro N (1 ≤ N ≤ 10^5) — o número de elementos no array. A segunda linha contém N inteiros separados por espaços — os elementos do array, ordenados em ordem não decrescente.
Formato de Saída
Um único inteiro — o comprimento do array após a remoção das duplicatas (a quantidade de elementos que aparecem no máximo duas vezes).
Exemplos
Exemplo 1
ENTRADA
1
5
SAÍDA
1
Exemplo 2
ENTRADA
5
1 2 3 4 5
7
SAÍDA
5
Exemplo 3
ENTRADA
6
1 1 1 2 2 3
SAÍDA
5
main.cpp