В ряд стоят $$$n$$$ монстров, у $$$i$$$-го монстра $$$a_i$$$ очков здоровья.
В каждую секунду вы можете выбрать одного живого монстра и запустить в него цепную молнию. Молния наносит ему $$$k$$$ урона, а также распространяется налево (в сторону уменьшения $$$i$$$) и направо (в сторону увеличения $$$i$$$) по живым монстрам, нанося каждому по $$$k$$$ урона. Когда молния доходит до мертвого монстра или до начала/конца ряда, она останавливается. Монстр считается живым, если количество его очков здоровья строго больше $$$0$$$.
Например, рассмотрим следующий сценарий: три монстра с уровнями здоровья $$$[5, 2, 7]$$$, $$$k = 3$$$. Можно убить всех монстров за $$$4$$$ секунды:
Для каждого $$$k$$$ от $$$1$$$ до $$$\max(a_1, a_2, \dots, a_n)$$$ посчитайте минимальное количество секунд, за которое можно убить всех монстров.
В первой строке записано одно целое число $$$n$$$ ($$$1 \le n \le 10^5$$$) — количество монстров.
Во второй строке записаны $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 10^5$$$) — количество очков здоровья у $$$i$$$-го монстра.
Для каждого $$$k$$$ от $$$1$$$ до $$$\max(a_1, a_2, \dots, a_n)$$$ выведите минимальное количество секунд, за которое можно убить всех монстров.
35 2 7
10 6 4 3 2 2 1
47 7 7 7
7 4 3 2 2 2 1
101 9 7 6 2 4 7 8 1 3
17 9 5 4 3 3 3 2 1
Название |
---|