Eliminación de duplicados de un array ordenado con límite de repeticiones
C++
Medium
arrays
Tarea «Eliminación de duplicados de un array ordenado con límite de repeticiones»
Dado un array de enteros ordenado de forma no decreciente. Es necesario eliminar los duplicados de modo que cada elemento aparezca como máximo dos veces, y devolver la longitud del nuevo array. Los elementos restantes del array después de esta longitud no son importantes. La solución debe realizarse sin usar memoria adicional (in-place).
Formato de entrada
La primera línea contiene un número entero N (1 ≤ N ≤ 10^5) — la cantidad de elementos en el array. La segunda línea contiene N números enteros separados por espacios — los elementos del array, ordenados de forma no decreciente.
Formato de salida
Un número entero — la longitud del array después de eliminar los duplicados (la cantidad de elementos que aparecen como máximo dos veces).
Ejemplos
Ejemplo 1
ENTRADA
1
5
SALIDA
1
Ejemplo 2
ENTRADA
5
1 2 3 4 5
7
SALIDA
5
Ejemplo 3
ENTRADA
6
1 1 1 2 2 3
SALIDA
5
main.cpp