Codeforces Round 783 (Div. 2)
C
Make it Increasing
Codeforces
未评级
原题
← BD →
翻译中…

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)?

翻译中…

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.

翻译中…

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.

翻译中…

样例

Input #1
5
1 2 3 4 5
Output #1
4
InputCopy OutputCopy
Input #2
7
1 2 1 2 1 2 1
Output #2
10
InputCopy OutputCopy
Input #3
8
1 8 2 7 3 6 4 5
Output #3
16
InputCopy OutputCopy
题目信息
题号
1668C
时间限制
2 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。