rows × cols нужно разрезать на кусочки 1 × 1. Между рядами проходят горизонтальные линии 0 … rows − 2, между столбцами — вертикальные линии 0 … cols − 2.
Разрез по горизонтальной линии i стоит row_cuts[i], по вертикальной линии j — col_cuts[j]. Режут по одному куску за раз: берут любой кусок, который ещё не 1 × 1, и делят его целиком по одной линии на два куска. Цена разреза зависит только от линии и не зависит от размера куска, но если линия проходит через несколько кусков, каждый из них режется и оплачивается отдельно.
Верните наименьшую суммарную стоимость нарезки всего торта.rows=2, cols=3, row_cuts=[4], col_cuts=[1, 2] → 10
Сначала режем по горизонтальной линии за 4. Затем вертикальная линия 1 проходит через два куска: 2 + 2. Последняя линия 0 тоже через два куска: 1 + 1. Итого 4 + 4 + 2 = 10.
rows=3, cols=1, row_cuts=[5, 2], col_cuts=[] → 7
Торт — полоска из трёх квадратов, каждую из двух линий режем один раз: 5 + 2 = 7.
rows=1, cols=1, row_cuts=[], col_cuts=[] → 0
Торт уже размером 1 × 1, резать нечего.
rows=2, cols=3, row_cuts=[4], col_cuts=[1, 2]
10
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 29 тестов на сервере, включая скрытые.