#arc129d. [arc129_d]-1+2-1

[arc129_d]-1+2-1

题目描述

给定一个整数序列 A=(A1,A2,cdots,AN)A = (A_1, A_2,\\cdots,A_N),长度为 NN

可以任意次数地重复以下操作:

  • 选择一个整数 ii (1leqileqN1 \\leq i \\leq N),将 Ai1A_{i-1}AiA_iAi+1A_{i+1} 分别加上 \-1,2,1\-1, 2, -1。这里 A0A_0 表示 ANA_NAN+1A_{N+1} 表示 A1A_1

确定是否可以使得 AA 中的每个元素都为 00。如果可以,找到所需的最小操作次数。

约束条件

  • 3leqNleq2000003 \\leq N \\leq 200000
  • \-100leqAileq100\-100 \\leq A_i \\leq 100
  • 输入中的所有值都是整数。

输入

从标准输入中以以下格式给出输入:

NN

A1A2cdotsANA_1 \quad A_2 \quad \\cdots \quad A_N

输出

如果无法使得 AA 中的每个元素都为 00,则输出 -1。如果可以,则输出所需的最小操作次数。


示例输入 1

4
3 0 -1 -2

示例输出 1

5

我们可以通过以下五个操作达到目标。

  • i=2i=2 时进行操作。现在我们的 A=(2,2,2,2)A=(2,2,-2,-2)
  • i=3i=3 时进行操作。现在我们的 A=(2,1,0,3)A=(2,1,0,-3)
  • i=3i=3 时进行操作。现在我们的 A=(2,0,2,4)A=(2,0,2,-4)
  • i=4i=4 时进行操作。现在我们的 A=(1,0,1,2)A=(1,0,1,-2)
  • i=4i=4 时进行操作。现在我们的 A=(0,0,0,0)A=(0,0,0,0)

示例输入 2

3
1 0 -2

示例输出 2

-1

示例输入 3

4
1 -1 1 -1

示例输出 3

-1

示例输入 4

10
-28 -3 90 -90 77 49 -31 48 -28 -84

示例输出 4

962