Удаление дубликатов из отсортированного массива с ограничением на количество повторений
C++
Средний
arrays
Задача «Удаление дубликатов из отсортированного массива с ограничением на количество повторений»
Дан отсортированный по неубыванию целочисленный массив. Необходимо удалить дубликаты таким образом, чтобы каждый элемент встречался не более двух раз, и вернуть длину нового массива. Остальные элементы массива после этой длины не важны. Решение должно быть выполнено без использования дополнительной памяти (in-place).
Формат ввода
Первая строка содержит целое число N (1 ≤ N ≤ 10^5) — количество элементов в массиве. Вторая строка содержит N целых чисел, разделённых пробелами — элементы массива, отсортированные по неубыванию.
Формат вывода
Одно целое число — длина массива после удаления дубликатов (количество элементов, которые встречаются не более двух раз).
Примеры
Пример 1
ВВОД
1
5
ВЫВОД
1
Пример 2
ВВОД
5
1 2 3 4 5
7
ВЫВОД
5
Пример 3
ВВОД
6
1 1 1 2 2 3
ВЫВОД
5
main.cpp