codeforces#P1667A. Make it Increasing
Make it Increasing
Description
You are given an array $a$ consisting of $n$ positive integers, and an array $b$, with length $n$. Initially $b_i=0$ for each $1 \leq i \leq n$.
In one move you can choose an integer $i$ ($1 \leq i \leq n$), and add $a_i$ to $b_i$ or subtract $a_i$ from $b_i$. What is the minimum number of moves needed to make $b$ increasing (that is, every element is strictly greater than every element before it)?
The first line contains a single integer $n$ ($2 \leq n \leq 5000$).
The second line contains $n$ integers, $a_1$, $a_2$, ..., $a_n$ ($1 \leq a_i \leq 10^9$) — the elements of the array $a$.
Print a single integer, the minimum number of moves to make $b$ increasing.
Input
The first line contains a single integer $n$ ($2 \leq n \leq 5000$).
The second line contains $n$ integers, $a_1$, $a_2$, ..., $a_n$ ($1 \leq a_i \leq 10^9$) — the elements of the array $a$.
Output
Print a single integer, the minimum number of moves to make $b$ increasing.
Samples
5
1 2 3 4 5
4
7
1 2 1 2 1 2 1
10
8
1 8 2 7 3 6 4 5
16
Note
Example $1$: you can subtract $a_1$ from $b_1$, and add $a_3$, $a_4$, and $a_5$ to $b_3$, $b_4$, and $b_5$ respectively. The final array will be [$-1$, $0$, $3$, $4$, $5$] after $4$ moves.
Example $2$: you can reach [$-3$, $-2$, $-1$, $0$, $1$, $2$, $3$] in $10$ moves.