A2606.数列乘积变1术
入门
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给出一个长度为 n 的序列,每次花费1的代价可以进行以下操作当中的一个:
- 让这个序列的任意一个数减 1
- 让这个序列的任意一个数加 1
求将这个序列的乘积变为1的最小花费(即a1∗a2∗a3∗...∗an=1)。
输入格式
第一行一个整数 n(1≤n≤100000),表示序列的长度。
第二行 n 个整数,第 i 个数ai(−109≤ai≤109) - 表示序列的第 i 个数的大小。
输出格式
将序列的所有数的乘积变为1(即a1∗a2∗a3∗...∗an=1)的最小花费。
输入输出样例
输入#1
2 -1 1
输出#1
2
输入#2
4 0 0 0 0
输出#2
4
输入#3
5 -5 -3 5 3 0
输出#3
13