E. Цепная реакция
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В ряд стоят $$$n$$$ монстров, у $$$i$$$-го монстра $$$a_i$$$ очков здоровья.

В каждую секунду вы можете выбрать одного живого монстра и запустить в него цепную молнию. Молния наносит ему $$$k$$$ урона, а также распространяется налево (в сторону уменьшения $$$i$$$) и направо (в сторону увеличения $$$i$$$) по живым монстрам, нанося каждому по $$$k$$$ урона. Когда молния доходит до мертвого монстра или до начала/конца ряда, она останавливается. Монстр считается живым, если количество его очков здоровья строго больше $$$0$$$.

Например, рассмотрим следующий сценарий: три монстра с уровнями здоровья $$$[5, 2, 7]$$$, $$$k = 3$$$. Можно убить всех монстров за $$$4$$$ секунды:

  • запустить цепную молнию в $$$3$$$-го монстра, тогда уровни здоровья будут равны $$$[2, -1, 4]$$$;
  • запустить цепную молнию в $$$1$$$-го монстра, тогда уровни здоровья будут равны $$$[-1, -1, 4]$$$;
  • запустить цепную молнию в $$$3$$$-го монстра, тогда уровни здоровья будут равны $$$[-1, -1, 1]$$$;
  • запустить цепную молнию в $$$3$$$-го монстра, тогда уровни здоровья будут равны $$$[-1, -1, -2]$$$.

Для каждого $$$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)$$$ выведите минимальное количество секунд, за которое можно убить всех монстров.

Примеры
Входные данные
3
5 2 7
Выходные данные
10 6 4 3 2 2 1 
Входные данные
4
7 7 7 7
Выходные данные
7 4 3 2 2 2 1 
Входные данные
10
1 9 7 6 2 4 7 8 1 3
Выходные данные
17 9 5 4 3 3 3 2 1