values. Рассмотрим все способы выбрать из него ровно 5 элементов с сохранением порядка (подпоследовательности длины 5; способы с разными наборами индексов различаются, даже если числа совпадают).
Выбор хороший, если его средний, третий по счёту элемент — **единственная мода**: это значение встречается среди пяти выбранных строго чаще любого другого значения.
Посчитайте хорошие выборы. Ответ может быть большим, верните его по модулю 10⁹ + 7. Это версия с большими входами: нужен алгоритм заметно быстрее, чем перебор по каждому возможному значению.values=[5, 5, 1, 5, 5, 5] → 3
Пятёрок из шести элементов шесть: каждая получается выбрасыванием одного элемента. Если выбросить элемент с индексом 0, 1 или 2, в центре стоит 5 и встречается чаще всего. Если выбросить элемент 3, 4 или 5, в центре оказывается 1 — она встречается один раз и модой не является. Итого 3.
values=[1, 2, 3, 2, 1] → 0
Единственная пятёрка — весь массив. В центре 3, она встречается один раз, а 1 и 2 — по два раза.
values=[6, 4, 6, 8, 6] → 1
В центре 6, она встречается трижды, остальные значения по разу.
len(values) ≤ 10⁵values[i] ≤ 10⁹values=[5, 5, 1, 5, 5, 5]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 124 теста на сервере, включая скрытые.