#703. 变为正数

变为正数

题目描述

给定长度为 nn 的数组 aa,数组中的每个元素等于 1,0-1,011。在一次操作中,你可以选择一个下标 ii 并将 aia_i 增加 11(即赋值 ai:=ai+1a_i := a_i + 1)。可以对任意下标进行任意次操作。

目标是用最少的操作次数使数组中所有元素的乘积严格为正,即

[a1×a2××an>0][ a_1\times a_2\times\cdots\times a_n > 0 ]

保证在给定条件下总能达到目标。求使乘积为正所需的最少操作次数。

输入格式

第一行包含一个整数 tt1t1041\le t\le 10^4),表示测试用例的个数。

随后描述 tt 个测试用例,每个测试用例包含两行:

  • 11 行:整数 nn1n81\le n\le 8),表示数组长度。
  • 22 行:nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n,每个 ai{1,0,1}a_i\in \{-1,0,1\},以空格分隔。

输出格式

对于每个测试用例,输出一行,包含一个整数 —— 将数组乘积变为正所需的最少操作次数。

样例输入

3
3
-1 0 1
4
-1 -1 0 1
5
-1 -1 -1 0 0

样例输出

3
1
4

说明

样例解释

  • 第一个样例:从 [1,0,1][-1,0,1] 可以通过 33 次操作得到 [1,1,1][1,1,1]
  • 第二个样例:只需把 010\to111 次操作),得到 [1,1,1,1][-1,-1,1,1],乘积为 11
  • 第三个样例:把两个 00 变为 1122 次),再把一个 1-1 变为 11(需要 22 次),共计 44 次。