atcoder#ARC129D. [ARC129D] -1+2-1

[ARC129D] -1+2-1

题目描述

長さ N N の整数列 A=(A1,A2,,AN) A=(A_1,A_2,\cdots,A_N) が与えられます.

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

  • 整数 i i (1  i  N 1\ \leq\ i\ \leq\ N ) を選び,Ai1,Ai,Ai+1 A_{i-1},A_i,A_{i+1} にそれぞれ 1,2,1 -1,2,-1 を足す. ただしここで,A0 A_0 AN A_N を指すものとし,また AN+1 A_{N+1} A1 A_1 を指すものとする.

A A のすべての要素を 0 0 にすることが可能かどうか判定し,また可能な場合は必要な最小の操作回数を求めてください.

输入格式

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

N N A1 A_1 A2 A_2 \cdots AN A_N

输出格式

A A のすべての要素を 0 0 にすることが不可能なら,-1 と出力せよ. 可能ならば,必要な最小の操作回数を出力せよ.

题目大意

给定一个环$a_1,a_2,\dots,a_n(3\leq n\leq200000,-100\leq a_i\leq100)$,其中ana_n的后一个数为a1a_1.

你可以执行任意次如下操作:

选择一个位置i(1in)i(1\leq i \leq n),将aia_i22,将与aia_i在环上相邻的两个数减11.

你需要将aa数组中所有元素变为00.求最少操作次数,如果无解输出-1.

4
3 0 -1 -2
5
3
1 0 -2
-1
4
1 -1 1 -1
-1
10
-28 -3 90 -90 77 49 -31 48 -28 -84
962

提示

制約

  • 3  N  200000 3\ \leq\ N\ \leq\ 200000
  • 100  Ai  100 -100\ \leq\ A_i\ \leq\ 100
  • 入力される値はすべて整数である

Sample Explanation 1

以下のように 5 5 回操作すればよいです. - i=2 i=2 を選んで操作する.A=(2,2,2,2) A=(2,2,-2,-2) になる. - i=3 i=3 を選んで操作する.A=(2,1,0,3) A=(2,1,0,-3) になる. - i=3 i=3 を選んで操作する.A=(2,0,2,4) A=(2,0,2,-4) になる. - i=4 i=4 を選んで操作する.A=(1,0,1,2) A=(1,0,1,-2) になる. - i=4 i=4 を選んで操作する.A=(0,0,0,0) A=(0,0,0,0) になる.