atcoder#ARC136C. [ARC136C] Circular Addition

[ARC136C] Circular Addition

题目描述

長さ N N の整数列 x=(x0,x1,,xN1) x=(x_0,x_1,\cdots,x_{N-1}) があります(添字が 0 0 から始まることに注意). 最初,x x の要素はすべて 0 0 です.

あなたは,以下の操作を好きな回数繰り返すことができます.

  • 整数 i,k i,k (0  i  N1 0\ \leq\ i\ \leq\ N-1 , 1  k  N 1\ \leq\ k\ \leq\ N ) を選ぶ. その後,i  j  i+k1 i\ \leq\ j\ \leq\ i+k-1 を満たすすべての j j について,xjmod N x_{j\bmod\ N} の値を 1 1 増やす.

長さ N N の整数列 A=(A0,A1,,AN1) A=(A_0,A_1,\cdots,A_{N-1}) が与えられます. x x A A に一致させるために必要な最小の操作回数を求めてください.

输入格式

入力は以下の形式で標準入力から与えられる.

N N A0 A_0 A1 A_1 \cdots AN1 A_{N-1}

输出格式

答えを出力せよ.

题目大意

你有一个长度为 nn 的序列 xx,其中元素由 00n1n-1编号。序列各元素初始全为 00

你可以进行若干次如下操作:每次操作选取一组 iikk (0in1,1kn)(0 \leq i \leq n - 1, 1 \leq k \leq n),对所有满足 iji+k1i \leq j \leq i + k - 1jj,执行 xjmodnxjmodn+1x_{j \bmod n} \leftarrow x_{j \bmod n} + 1

(通俗地讲就是将序列首尾相接拼成一个环,每次选取环上的一段,将其上元素的值全部加 11。)

现给定另一个序列 AA,求出由 xx 变换为 AA 所需的最小操作数。

4
1 2 1 2
2
5
3 1 4 1 5
7
1
1000000000
1000000000

提示

制約

  • 1  N  200000 1\ \leq\ N\ \leq\ 200000
  • 1  Ai  109 1\ \leq\ A_i\ \leq\ 10^9
  • 入力される値はすべて整数

Sample Explanation 1

以下のように操作すればよいです. - 最初,x=(0,0,0,0) x=(0,0,0,0) である. - i=1,k=3 i=1,k=3 で操作を行う.x=(0,1,1,1) x=(0,1,1,1) となる. - i=3,k=3 i=3,k=3 で操作を行う.x=(1,2,1,2) x=(1,2,1,2) となる.