Ctrl K

Мастер и помощник

Сложная
Нужно покрасить n стен. На объекте двое маляров. - **Мастер** берёт за стену i ровно price[i] монет и тратит на неё hours[i] часов. - **Помощник** работает бесплатно и красит любую стену за 1 час, но только пока мастер чем-то занят. Если мастер простаивает, помощник тоже не работает. Каждую стену красит ровно один из них. Найдите минимальную сумму, которую придётся заплатить, чтобы все стены были покрашены.
Пример 1
price=[7, 3, 9, 4], hours=[1, 2, 2, 1] → 7

Мастер красит стены 1 и 3: это 3 + 4 = 7 монет и 3 часа работы. За эти 3 часа помощник успевает бесплатно покрасить стены 0 и 2.

Пример 2
price=[5, 6, 2, 8, 1], hours=[1, 1, 1, 1, 1] → 8

Каждая оплаченная стена даёт помощнику час, то есть ещё одну стену. Значит, мастеру хватит трёх стен из пяти: самые дешёвые — 1, 2 и 5. Итого 8.

Пример 3
price=[10], hours=[3] → 10

Стена одна, а помощник без работающего мастера не красит — платим 10.

Ограничения
  • 1 ≤ n = len(price) = len(hours) ≤ 500
  • 1 ≤ price[i] ≤ 10⁶
  • 1 ≤ hours[i] ≤ 500
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВода между стенами СложнаяСамый большой горящий блок СложнаяПрибыль за две сделки СложнаяВсе способы расставить пробелы СложнаяПереход через пещеру Сложная
загружаем Python…
Вход
price=[7, 3, 9, 4], hours=[1, 2, 2, 1]
Ожидается
7

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