A2606.数列乘积变1术

入门

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

给出一个长度为 nn 的序列,每次花费1的代价可以进行以下操作当中的一个:

  1. 让这个序列的任意一个数减 11
  2. 让这个序列的任意一个数加 11

求将这个序列的乘积变为1的最小花费(即a1a2a3...an=1a_1*a_2*a_3*...*a_n=1)。

输入格式

第一行一个整数 n(1n100000)n(1 \leq n \leq 100000),表示序列的长度。

第二行 nn 个整数,第 ii 个数ai(109ai109)a_i (-10^9 \leq a_i \leq 10^9) - 表示序列的第 ii 个数的大小。

输出格式

将序列的所有数的乘积变为1(即a1a2a3...an=1a_1*a_2*a_3*...*a_n=1)的最小花费。

输入输出样例

  • 输入#1

    2
    -1 1
    

    输出#1

    2
  • 输入#2

    4
    0 0 0 0
    

    输出#2

    4
  • 输入#3

    5
    -5 -3 5 3 0
    

    输出#3

    13
首页