n баков: в i-м сейчас levels[i] литров, и каждую секунду в него поступает rates[i] литров.
Каждая секунда устроена так: сначала во все баки одновременно поступает вода, затем вы можете выбрать один бак и полностью его опустошить.
Верните наименьшее число секунд, после которого суммарный объём воды во всех баках может стать не больше limit, или -1, если этого не добиться никогда. Если сумма уже сейчас не больше limit, ответ 0.levels=[4, 1, 2], rates=[1, 3, 0], limit=5 → 2
Секунда 1: уровни [5, 4, 2], опустошаем бак 1 — [5, 0, 2], сумма 7. Секунда 2: [6, 3, 2], опустошаем бак 0 — [0, 3, 2], сумма 5. За одну секунду лучшее, что можно получить, — 6.
levels=[2, 2], rates=[5, 5], limit=3 → -1
После каждой секунды хотя бы один бак, не опустошённый в эту секунду, содержит не меньше 5, так что сумма никогда не станет ≤ 3.
levels=[3, 4], rates=[1, 1], limit=10 → 0
Сумма 7 уже не больше 10 — ждать не нужно.
levels=[4, 1, 2], rates=[1, 3, 0], limit=5
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 114 тестов на сервере, включая скрытые.