Unit Array.2A
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Unit Array
题面描述
给定一个长度为 的序列 ,所有元素均为 或 。我们称 是一个好序列,当且仅当同时满足以下两个条件:
- ;
- 。
你可以对序列进行若干次修改,每次修改可以把序列中的 改成 或从 改成 。
给定一个序列,问最少需要几次修改使它变成一个好的序列。
输入格式
每个测试由多个测试用例组成。第一行包含一个整数()——测试用例的数量。测试用例的描述如下。 每个测试用例的第一行包含一个整数()——序列的长度。 每个测试用例的第二行包含整数()——序列的元素。
输出格式
对于每个测试用例,输出一个整数——使序列变成一个好序列所需的最小操作数。
样例 #1
样例输入 #1
7
4
-1 -1 1 -1
5
-1 -1 -1 1 1
4
-1 1 -1 1
3
-1 -1 -1
5
1 1 1 1 1
1
-1
2
-1 -1
样例输出 #1
1
1
0
3
0
1
2
提示
在第一个测试用例中,我们可以分配值 . 则 $ a_1 + a_2 + a_3 + a_4 = 1 + (-1) + 1 + (-1) = 0 \ge 0 $ 并且 $ a_1 \cdot a_2 \cdot a_3 \cdot a_4 = 1 \cdot (-1) \cdot 1 \cdot (-1) = 1 $。因此,我们执行了操作。 在第二个测试用例中,我们可以分配 . 则 $ a_1 + a_2 + a_3 + a_4 + a_5 = 1 + (-1) + (-1) + 1 + 1 = 1 \ge 0 $ 并且 $ a_1 \cdot a_2 \cdot a_3 \cdot a_4 \cdot a_5 = 1 \cdot (-1) \cdot (-1) \cdot 1 \cdot 1 = 1 $ . 。因此,我们执行了操作。 在第三个测试用例中, $ a_1 + a_2 + a_3 + a_4 = (-1) + 1 + (-1) + 1 = 0 \ge 0 $ a $ a_1 \cdot a_2 \cdot a_3 \cdot a_4 = (-1) \cdot 1 \cdot (-1) \cdot 1 = 1 $。因此,所有条件都已满足,不需要任何操作。 在第四个测试用例中,我们可以分配值。然后和。因此,我们执行了的操作。