Загрузка данных


#include <iostream>
#include <vector>

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int n;
    std::cin >> n;

    std::vector<int> a(n);
    for (int i = 0; i < n; ++i) {
        std::cin >> a[i];
    }

    int erased = 0;
    bool changed = true;

    // Повторяем процесс, пока происходят удаления
    while (changed) {
        changed = false;
        std::vector<int> next_a;
        
        for (int i = 0; i < n; ) {
            int j = i + 1;
            // Ищем конец текущей последовательности одинаковых чисел
            while (j < n && a[j] == a[i]) {
                ++j;
            }
            
            int length = j - i;
            if (length >= 3) {
                // Удаляем цепочку
                erased += length;
                changed = true;
            } else {
                // Сохраняем цепочку
                for (int k = i; k < j; ++k) {
                    next_a.push_back(a[k]);
                }
            }
            i = j;
        }
        
        // Если были удаления, обновляем массив и его размер
        if (changed) {
            a = next_a;
            n = a.size();
        }
    }

    std::cout << erased;

    return 0;
}