Ctrl K

По клетке из каждой строки со штрафом за сдвиг

Средняя
Дана таблица grid из m строк и n столбцов, в клетках — неотрицательные числа. В каждой строке нужно выбрать ровно одну клетку; число в ней добавляется к счёту. За резкие сдвиги приходится платить: если в строке r выбран столбец c1, а в строке r + 1 — столбец c2, из счёта вычитается |c1 − c2|. Верните наибольший счёт, который можно получить.
Пример 1
grid=[[4, 1, 1], [1, 1, 6], [2, 7, 1]] → 14

Берём столбцы 0, 2 и 1: 4 + 6 + 7 = 17, штраф |0 − 2| + |2 − 1| = 3, итого 14.

Пример 2
grid=[[9, 0, 0, 0], [0, 0, 0, 9]] → 15

Взять обе девятки — значит заплатить штраф 3: 18 − 3 = 15. Это лучше, чем 9 и 0 в одном столбце.

Пример 3
grid=[[2], [5], [3]] → 10

Столбец один, выбора нет: 2 + 5 + 3 = 10.

Ограничения
  • 1 ≤ m, n
  • m · n ≤ 10⁵
  • 0 ≤ grid[r][c] ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол СредняяСамый большой сплошной квадрат СредняяЛучшее место для пушки СредняяШаги до ближайшего нуля Средняя
загружаем Python…
Вход
grid=[[4, 1, 1], [1, 1, 6], [2, 7, 1]]
Ожидается
14

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