#ARC136C. Circular Addition

Circular Addition

Circular Addition

时间限制:2s
空间限制:1024MB

题目描述

有一个长度为 NN 的整数序列 x=(x0,x1,…,xN−1)x=(x_0,x_1,\ldots,x_{N-1})。初始时,所有元素均为 00。

你可以进行任意次如下操作:选择整数 i,ki,k,其中 0≤i<N0\le i<N、1≤k≤N1\le k\le N;对于所有满足 i≤j≤i+k−1i\le j\le i+k-1 的 jj,令 xj mod Nx_{j\bmod N} 增加 11。

给定目标序列 A=(A0,A1,…,AN−1)A=(A_0,A_1,\ldots,A_{N-1}),求把 xx 变成 AA 所需的最少操作次数。

输入格式

第一行输入一个整数 NN。

第二行输入 NN 个整数 A0,A1,…,AN−1A_0,A_1,\ldots,A_{N-1}。

输出格式

输出最少操作次数。

样例输入 1

4
1 2 1 2

样例输出 1

2

样例输入 2

5
3 1 4 1 5

样例输出 2

7

样例输入 3

1
1000000000

样例输出 3

1000000000

数据范围

对于所有数据,1≤N≤2×1051\le N\le 2\times 10^5,1≤Ai≤1091\le A_i\le 10^9。

子任务编号 分值 特殊限制
1 10 N=1N=1
2 所有 AiA_i 相等
3 20 N≤6N\le 6 且 Ai≤4A_i\le 4
4 30 AA 中至多有两种不同的值
5 无特殊限制