#703. 变为正数
变为正数
题目描述
给定长度为 的数组 ,数组中的每个元素等于 或 。在一次操作中,你可以选择一个下标 并将 增加 (即赋值 )。可以对任意下标进行任意次操作。
目标是用最少的操作次数使数组中所有元素的乘积严格为正,即
保证在给定条件下总能达到目标。求使乘积为正所需的最少操作次数。
输入格式
第一行包含一个整数 (),表示测试用例的个数。
随后描述 个测试用例,每个测试用例包含两行:
- 第 行:整数 (),表示数组长度。
- 第 行: 个整数 ,每个 ,以空格分隔。
输出格式
对于每个测试用例,输出一行,包含一个整数 —— 将数组乘积变为正所需的最少操作次数。
样例输入
3
3
-1 0 1
4
-1 -1 0 1
5
-1 -1 -1 0 0
样例输出
3
1
4
说明
样例解释
- 第一个样例:从 可以通过 次操作得到 。
- 第二个样例:只需把 ( 次操作),得到 ,乘积为 。
- 第三个样例:把两个 变为 ( 次),再把一个 变为 (需要 次),共计 次。