CF1954E Chain Reaction
Description
There are $ n $ monsters standing in a row. The $ i $ -th monster has $ a_i $ health points.
Every second, you can choose one alive monster and launch a chain lightning at it. The lightning deals $ k $ damage to it, and also spreads to the left (towards decreasing $ i $ ) and to the right (towards increasing $ i $ ) to alive monsters, dealing $ k $ damage to each. When the lightning reaches a dead monster or the beginning/end of the row, it stops. A monster is considered alive if its health points are strictly greater than $ 0 $ .
For example, consider the following scenario: there are three monsters with health equal to $ [5, 2, 7] $ , and $ k = 3 $ . You can kill them all in $ 4 $ seconds:
- launch a chain lightning at the $ 3 $ -rd monster, then their health values are $ [2, -1, 4] $ ;
- launch a chain lightning at the $ 1 $ -st monster, then their health values are $ [-1, -1, 4] $ ;
- launch a chain lightning at the $ 3 $ -rd monster, then their health values are $ [-1, -1, 1] $ ;
- launch a chain lightning at the $ 3 $ -th monster, then their health values are $ [-1, -1, -2] $ .
For each $ k $ from $ 1 $ to $ \max(a_1, a_2, \dots, a_n) $ , calculate the minimum number of seconds it takes to kill all the monsters.
Input Format
The first line contains a single integer $ n $ ( $ 1 \le n \le 10^5 $ ) — the number of monsters.
The second line contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 10^5 $ ) — the health points of the $ i $ -th monster.
Output Format
For each $ k $ from $ 1 $ to $ \max(a_1, a_2, \dots, a_n) $ , output the minimum number of seconds it takes to kill all the monsters.