Processing math: 100%
编程题
                ### 问题描述

你有 n 堆糖果,第 i 堆包含 si 颗糖果。

你可以执行以下操作:从第 i 堆中取出一个糖果(如果至少有一个糖果)并放到第 i+1 堆中。

请问最多可以移动几次,使糖果的数量的序列严格递增?若无论移动几次都无法使糖果的序列严格递增则输出 -1

注意,即使当堆中没有糖果时也是合法的。

输入格式

第一行包含一个整数 n (1n100),表示堆的数量。

第二行包含 n 个整数 si (0si109),表示每堆糖果的初始数量。

输出格式

一行一个整数:

  • 若存在合法方案可以通过移动数次使得糖果的数量的序列严格递增,则输出最大次数。
  • 若不存在合法方案使得糖果的数量序列严格递增则输出 -1

样例输入

3
6 6 6

样例输出

17
查看答案
赣ICP备20007335号-2