grid из m строк и n столбцов и число cap.
Блоком назовём любую непустую прямоугольную часть таблицы: несколько подряд идущих строк, пересечённых с несколькими подряд идущими столбцами. Блок хороший, если:
- все его значения не больше cap;
- в каждой его строке значения не возрастают слева направо (соседние могут быть равны).
Верните количество хороших блоков. Блоки различаются положением в таблице, даже если их содержимое совпадает.grid=[[5, 2, 2], [3, 3, 1]], cap=3 → 12
Значения не больше 3 и строки, которые не возрастают слева направо: пять одиночных клеток (все, кроме 5), отрезки строк [2, 2], [3, 3], [3, 1] и [3, 3, 1], два столбца высотой 2 — [[2], [3]] и [[2], [1]] — и блок 2×2 [[2, 2], [3, 1]]. Всего 12.
grid=[[1, 2], [1, 2]], cap=5 → 6
Строки [1, 2] возрастают, поэтому годятся только блоки шириной 1: четыре клетки и два столбца высотой 2.
grid=[[7]], cap=6 → 0
Единственная клетка больше cap.
m, n ≤ 1000grid[i][j], cap ≤ 10⁹grid=[[5, 2, 2], [3, 3, 1]], cap=3
12
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 107 тестов на сервере, включая скрытые.