ring стоят по кругу: после последнего элемента снова идёт первый. *Окно* — это width подряд идущих элементов по кругу, начиная с любой позиции; всего окон столько же, сколько элементов.
За один шаг можно увеличить или уменьшить любой элемент на 1. Какое наименьшее число шагов нужно, чтобы суммы всех окон стали одинаковыми?ring=[3, 7, 3, 5], width=2 → 2
Окна длины 2 по кругу: 3+7, 7+3, 3+5, 5+3. Чтобы все суммы совпали, элементы через один должны быть равны, то есть 7 и 5 нужно уравнять. Это 2 шага, например 7 → 5.
ring=[4, 1, 6, 2, 8, 3], width=4 → 6
Здесь n = 6, а окна сдвигаются на 4, поэтому равными должны стать элементы с индексами одной чётности: [4, 6, 8] и [1, 2, 3]. Тянем к медианам 6 и 2: 2 + 2 + 1 + 1 = 6.
ring=[9, 2, 5], width=3 → 0
Окно длины 3 на кольце из трёх чисел — всегда весь массив, сумма одна и та же. Ничего менять не нужно.
width ≤ len(ring) ≤ 10⁵ring=[3, 7, 3, 5], width=2
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 103 теста на сервере, включая скрытые.