题库练习 Unit Array
← 上一题 下一题 →

A15868 | Unit Array

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Given an array $a$ of length $n$ , which elements are equal to $-1$ and $1$ . Let's call the array $a$ good if the following conditions are held at the same time:

- $a_1 + a_2 + \ldots + a_n \ge 0$ ;
- $a_1 \cdot a_2 \cdot \ldots \cdot a_n = 1$ .

In one operation, you can select an arbitrary element of the array $a_i$ and change its value to the opposite. In other words, if $a_i = -1$ , you can assign the value to $a_i := 1$ , and if $a_i = 1$ , then assign the value to $a_i := -1$ .

Determine the minimum number of operations you need to perform to make the array $a$ good. It can be shown that this is always possible.

输入格式

Each test consists of multiple test cases. The first line contains a single integer $t$ ( $1 \le t \le 500$ ) — the number of test cases. The description of the test cases follows.

The first line of each test case contains a single integer $n$ ( $1 \le n \le 100$ ) — the length of the array $a$ .

The second line of each test case contains $n$ integers $a_1, a_2, \ldots, a_n$ ( $a_i = \pm 1$ ) — the elements of the array $a$ .

输出格式

For each test case, output a single integer — the minimum number of operations that need to be done to make the $a$ array good.

输入输出样例

输入 #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
C++ 编辑器
输入
输出