Ctrl K

Самый выгодный маршрут прыжками

Средняя
Дано поле board из m строк и n столбцов, в клетках записаны положительные числа. Фишка ходит только вниз или вправо, причём за один ход может перепрыгнуть сразу через несколько клеток: из клетки (i, j) можно попасть в любую клетку (i', j) с i' > i или в любую клетку (i, j') с j' > j. Ход из клетки со значением c1 в клетку со значением c2 приносит c2 - c1 очков (это может быть и отрицательное число). Начать можно в любой клетке, но сделать нужно хотя бы один ход. Верните наибольшую сумму очков, которую можно набрать.
Пример 1
board=[[6, 2, 8], [5, 1, 4], [9, 3, 7]] → 6

Начинаем в клетке со значением 1 (строка 1, столбец 1), прыгаем вправо на 4 (+3), затем вниз на 7 (+3): итого 6. Можно и сразу прыгнуть с 1 на 7 — получится те же 6; больше не выйдет.

Пример 2
board=[[10, 8], [7, 3]] → -2

Любой ход ведёт к меньшему числу, так что выгоднее всего сделать один ход с наименьшей потерей: 10 → 8 даёт −2.

Пример 3
board=[[4, 4], [4, 4]] → 0

Все значения равны, любой ход приносит 0.

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

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