Контейнер должен иметь внутренние типы: вел референс, конст-референс, итератор, констатератор, дифференс тайп и сай-тайп.
Итератор должен удовлетворять требованиям форвард-итератора.
Контейнер должен уметь создаваться пустым, копироваться, мутироваться, присваиваться, вызывать деструктор, иметь методы «бегин», «энд», «сравниться», «свопиться», «сайз», «макс-сайз» и «эмти».
Задача: найти число в массиве, которое встречается более половины раз.
Условие: задача должна быть решена за линейное время с использованием только итератора.
Аналогия с танцами: при каждом прохождении массива сравниваются числа, и если они совпадают, то одно из них «отдаётся» в пару, уменьшая количество повторений.