编程题
### 问题描述
你有 $n$ 堆糖果,第 $i$ 堆包含 $s_i$ 颗糖果。
你可以执行以下操作:从第 $i$ 堆中取出一个糖果(如果至少有一个糖果)并放到第 $i+1$ 堆中。
请问最多可以移动几次,使糖果的数量的序列严格递增?若无论移动几次都无法使糖果的序列严格递增则输出 `-1` 。
注意,即使当堆中没有糖果时也是合法的。
### 输入格式
第一行包含一个整数 $n$ $(1 \leq n \leq 100)$,表示堆的数量。
第二行包含 $n$ 个整数 $s_i$ $(0 \leq s_i \leq 10^9)$,表示每堆糖果的初始数量。
### 输出格式
一行一个整数:
- 若存在合法方案可以通过移动数次使得糖果的数量的序列严格递增,则输出最大次数。
- 若不存在合法方案使得糖果的数量序列严格递增则输出 `-1` 。
### 样例输入
```text
3
6 6 6
```
### 样例输出
```text
17
```