rows × cols долек. Её нужно разломать на отдельные дольки.
Между строками долек проходят rows - 1 горизонтальных линий разлома, между столбцами — cols - 1 вертикальных. Сломать кусок по горизонтальной линии i стоит row_lines[i], по вертикальной линии j — col_lines[j]. Цена зависит только от линии, а не от размера куска.
За один шаг вы берёте любой кусок, который ещё не стал отдельной долькой, и ломаете его по одной линии, проходящей через него, — получается два куска. Если линия проходит через несколько кусков, ломать (и платить) придётся в каждом отдельно.
Верните минимальную суммарную стоимость, за которую плитку можно разломать на дольки 1 × 1.rows=2, cols=3, row_lines=[4], col_lines=[2, 6] → 18
Сначала самая дорогая линия: столбцовая линия 1 за 6. Затем строковая линия за 4 — она проходит через оба куска, это 4 + 4. Остаётся столбцовая линия 0 за 2 — её ломаем в двух кусках-строках: 2 + 2. Итого 6 + 8 + 4 = 18.
rows=3, cols=1, row_lines=[5, 1], col_lines=[] → 6
Плитка — одна полоска, каждую линию ломаем ровно один раз: 5 + 1 = 6.
rows=1, cols=1, row_lines=[], col_lines=[] → 0
rows=2, cols=3, row_lines=[4], col_lines=[2, 6]
18
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 28 тестов на сервере, включая скрытые.