Ctrl K

Ползунки эквалайзера по пресету

Сложная
На пульте эквалайзера стоит ряд ползунков, их текущие уровни записаны в массиве levels. Нужно выставить их по пресету preset той же длины: ползунок i должен оказаться на уровне preset[i]. За один ход можно взять несколько **подряд идущих** ползунков и сдвинуть их все вместе на 1 — либо все вверх, либо все вниз. Верните наименьшее число ходов, после которых levels совпадёт с preset.
Пример 1
levels=[2, 2, 5, 5], preset=[3, 4, 6, 5] → 2

Поднимаем ползунки 0–2 на единицу: [3, 3, 6, 5]. Затем поднимаем ползунок 1 ещё раз: [3, 4, 6, 5]. Всего 2 хода.

Пример 2
levels=[4, 4, 4], preset=[5, 3, 5] → 3

Ползунки 0 и 2 нужно поднять, а ползунок 1 между ними — опустить, поэтому одним блоком не обойтись: по ходу на каждый, итого 3.

Пример 3
levels=[7, 7], preset=[7, 7] → 0

Всё уже совпадает, ходов не нужно.

Ограничения
  • 1 ≤ levels.length = preset.length ≤ 10⁵
  • 1 ≤ levels[i], preset[i] ≤ 10⁸
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодъём отрезками СложнаяДерево из произведений листьев СредняяПрыжки по камням СредняяВода между стенами СложнаяСамый большой горящий блок Сложная
загружаем Python…
Вход
levels=[2, 2, 5, 5], preset=[3, 4, 6, 5]
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 119 тестов на сервере, включая скрытые.