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