n соперниками. У вас есть выносливость stamina и опыт skill. У i-го соперника два показателя: drain[i] и gain[i].
Чтобы победить i-го соперника, ваша текущая выносливость должна быть **строго больше** drain[i], а текущий опыт — **строго больше** gain[i]. После победы выносливость уменьшается на drain[i], а опыт увеличивается на gain[i]. Проиграть нельзя никому.
До начала турнира можно тренироваться: каждый час тренировки добавляет 1 либо к выносливости, либо к опыту (на ваш выбор). Верните наименьшее число часов тренировок, после которого вы победите всех соперников по порядку.stamina=4, skill=2, drain=[2, 3], gain=[1, 5] → 5
Чтобы пережить обе встречи, выносливость должна быть больше 2 + 3 = 5, то есть хотя бы 6: +2 часа. С опытом 2 первого соперника (1) вы побеждаете и получаете 3, но второго (5) — нет; нужно ещё 3 часа, чтобы стартовать с опытом 5, тогда после первой победы будет 6 > 5. Итого 2 + 3 = 5 часов.
stamina=10, skill=8, drain=[3, 4], gain=[2, 6] → 0
Выносливости 10 хватает (10 > 3, затем 7 > 4), опыта тоже (8 > 2, затем 10 > 6), тренироваться не нужно.
n = drain.length = gain.lengthn ≤ 100stamina, skill, drain[i], gain[i] ≤ 100stamina=4, skill=2, drain=[2, 3], gain=[1, 5]
5
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 169 тестов на сервере, включая скрытые.