题目描述
我们有一个长度为N的整数序列:x=(x0,x1,cdots,xN−1)(注意它的索引是以0为基准的)。初始时,x的所有元素都为0。
你可以任意次执行以下操作。
- 选择整数i,k(0leqileqN−1,1leqkleqN)。然后,对于0≤j≤i+k−1的每一个j,将xjbmodN的值增加1。
现在给定一个长度为N的整数序列:A=(A0,A1,cdots,AN−1)。请找到使得x等于A所需的最小操作次数。
约束条件
- 1leqNleq200000
- 1leqAileq109
- 输入中的所有值都是整数。
输入
从标准输入读入数据。
输入的格式如下:
N
A0 A1 cdots AN−1
输出
输出答案。
示例输入 1
4
1 2 1 2
示例输出 1
2
我们应该进行如下操作:
- 最初,x=(0,0,0,0)。
- 执行操作使得i=1,k=3,得到x=(0,1,1,1)。
- 执行操作使得i=3,k=3,得到x=(1,2,1,2)。
示例输入 2
5
3 1 4 1 5
示例输出 2
7
示例输入 3
1
1000000000
示例输出 3
1000000000