values длины n и два числа width и top.
Для любого отрезка массива определим его **частотную сумму** так:
1. Посчитайте, сколько раз встречается каждое значение.
2. Упорядочьте различные значения по частоте; при равной частоте частым считается большее значение.
3. Оставьте только top самых частых значений (все их вхождения) и сложите оставленные элементы.
Если различных значений меньше top, частотная сумма равна сумме всего отрезка.
Верните массив из n - width + 1 чисел, где i-е число — частотная сумма отрезка values[i..i + width - 1].
Массив может содержать до 10⁵ элементов, так что пересчитывать каждое окно с нуля слишком долго.values=[4, 4, 1, 2, 2, 7], width=4, top=2 → [10, 8, 11]
В окне [4, 4, 1, 2] чаще всех 4 (дважды), а из встречающихся по разу 1 и 2 берём большее — 2: 4 + 4 + 2 = 10. В окне [4, 1, 2, 2] остаются 2, 2 и 4: сумма 8. В окне [1, 2, 2, 7] — 2, 2 и 7: сумма 11.
values=[9, 3, 9], width=3, top=3 → [21]
Различных значений всего два, это меньше top = 3, поэтому частотная сумма — сумма всего окна: 21.
values=[4, 4, 1, 2, 2, 7], width=4, top=2
[10, 8, 11]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 196 тестов на сервере, включая скрытые.