100592: [AtCoder]ABC059 C - Sequence

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $300$ points

Problem Statement

You are given an integer sequence of length $N$. The $i$-th term in the sequence is $a_i$. In one operation, you can select a term and either increment or decrement it by one.

At least how many operations are necessary to satisfy the following conditions?

  • For every $i$ $(1≤i≤n)$, the sum of the terms from the $1$-st through $i$-th term is not zero.
  • For every $i$ $(1≤i≤n-1)$, the sign of the sum of the terms from the $1$-st through $i$-th term, is different from the sign of the sum of the terms from the $1$-st through $(i+1)$-th term.

Constraints

  • $2 ≤ n ≤ 10^5$
  • $|a_i| ≤ 10^9$
  • Each $a_i$ is an integer.

Input

Input is given from Standard Input in the following format:

$n$
$a_1$ $a_2$ $...$ $a_n$

Output

Print the minimum necessary count of operations.


Sample Input 1

4
1 -3 1 0

Sample Output 1

4

For example, the given sequence can be transformed into $1, -2, 2, -2$ by four operations. The sums of the first one, two, three and four terms are $1, -1, 1$ and $-1$, respectively, which satisfy the conditions.


Sample Input 2

5
3 -6 4 -5 7

Sample Output 2

0

The given sequence already satisfies the conditions.


Sample Input 3

6
-1 4 3 2 -5 4

Sample Output 3

8

Input

题意翻译

给定一个长度为 $N$ 的序列 $A$,每次操作可以选择一个 $i$ 使得 $A_i$ 大小减 $1$ 或加 $1$。 记 $S_i = \sum\limits_{j = 1} ^ i A_j$,求最少的操作次数使得: * $\forall i \in [1, n], S_i \ne 0$ * $\forall i \in [1, n - 1], S_i \times S_{i + 1} < 0$

加入题单

上一题 下一题 算法标签: