Codeforces Round 952 (Div. 4) |
---|
Закончено |
Вы сталкиваетесь с финальным боссом в своей любимой видеоигре. У босса $$$h$$$ здоровья. У вашего персонажа есть $$$n$$$ атак, $$$i$$$-я атака наносит $$$a_i$$$ урона боссу, но имеет перезарядку $$$c_i$$$ ходов, что означает, что вы сможете использовать эту атаку в следующий раз в ход $$$x + c_i$$$, если ваш текущий ход $$$x$$$. Каждый ход вы можете использовать сразу все атаки, которые сейчас не находятся в режиме перезарядки. Если все атаки находятся в режиме перезарядки, вы ничего не делаете в этот ход и переходите к следующему.
Изначально все атаки не находятся в режиме перезарядки. Сколько ходов вам понадобится, чтобы победить босса? Босс будет побежден, когда его здоровье станет $$$0$$$ или меньше.
Первая строка содержит $$$t$$$ ($$$1 \leq t \leq 10^4$$$) – количество наборов входных данных.
Первая строка каждого набора содержит два целых числа $$$h$$$ и $$$n$$$ ($$$1 \leq h, n \leq 2 \cdot 10^5$$$) – здоровье босса и количество ваших атак.
Следующая строка каждого набора содержит $$$n$$$ целых чисел $$$a_1, a_2, ..., a_n$$$ ($$$1 \leq a_i \leq 2 \cdot 10^5$$$) – урон ваших атак.
Следующая строка каждого набора содержит $$$n$$$ целых чисел $$$c_1, c_2, ..., c_n$$$ ($$$1 \leq c_i \leq 2 \cdot 10^5$$$) – перезарядка ваших атак.
Гарантируется, что сумма $$$h$$$ и $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите целое число, минимальное количество ходов, необходимое для победы над боссом.
83 22 12 15 22 12 150 35 6 75 6 750 32 2 23 3 390000 2200000 2000001 1100000 112000006 73 2 3 2 3 1 26 5 9 5 10 7 721 61 1 1 1 1 15 5 8 10 7 6
1 3 15 25 1 19999800001 1 21
В первом примере вы можете использовать атаки $$$1$$$ и $$$2$$$ на первом ходу, нанеся в общей сложности $$$3$$$ урона и убив босса.
Во втором примере вы можете победить босса за $$$3$$$ хода, используя следующие атаки:
Ход $$$1$$$: Используйте атаки $$$1$$$ и $$$2$$$, нанеся $$$3$$$ урона боссу. У босса осталось $$$2$$$ здоровья.
Ход $$$2$$$: Используйте атаку $$$2$$$, нанеся $$$1$$$ урон боссу. У босса осталось $$$1$$$ здоровья.
Ход $$$3$$$: Используйте атаку $$$1$$$, нанеся $$$2$$$ урона боссу. У босса осталось $$$-1$$$ здоровья. Поскольку его здоровье меньше или равно $$$0$$$, вы побеждаете босса.
В шестом примере: не забудьте использовать 64-битный целочисленный тип, так как ответ может быть большим.
Название |
---|