#7256. 1206B. B. Make Product Equal One
0
1206B. B. Make Product Equal One
1206B. B. Make Product Equal One
CF1206B. Make Product Equal One
时限: 1 秒 | 内存: 256 MB | 输入: 标准输入 | 输出: 标准输出
给你一个有 $n$ 个数的数组。你可以用 $x$(x为任意正整数) 的代价将数组中的任意一个数增加或减少 $x$ ,你可以重复多次此操作。现在需要你用若干次操作使得 $a_1·a_2·...·a_n = 1$ (数组的乘积为1)。
比如,当 $n=3$ 和数组为 [1,-3,0] 时,我们最少需要花费 $3$ 的代价:用 $2$ 的代价把 -$3$ 增加到 -$1$ ,再用 $1$ 的代价把 $0$ 减少到 -$1$ ,数组就变成了 [1,-1,-1] ,然后 $1·(-1)·(-1)=1$ 。
现在询问最少需要花费多少的代价使得数组的乘积为 $1$ 。
输入格式
输入共两行。
第一行输入一个数 $n$ ,表示数组的数字个数。
第二行输入 $n$ 个数 $a_i$ ,表示该数组。
输出格式
输出一个数,表示使得数组的乘积为 $1$ 的最少的花费。
样例输入 1
2 -1 1
样例输出 1
2
样例输入 2
4 0 0 0 0
样例输出 2
4
样例输入 3
5 -5 -3 5 3 0
样例输出 3
13
提示
$1\leq n\leq 10^5$
$-10^9\leq a_i\leq 10^9$