CF1993B Parity and Sum
题目描述
给定一个包含 $n$ 个整数的数组 $a$。
每次操作中,你可以选择任意一个数对 $(i,j)$,使得 $a_i$ 和 $a_j$ 奇偶性不同,即 $a_i$ 和 $a_j$ 既不同为奇数也不同为偶数。然后将 $a_i$ 和 $a_j$ 中值较小的那一个的元素的值替换为这两个元素的和,即:
- 如果 $a_i
输入格式
**本题包含多组数据。**
第一行输入一个整数 $T$,表示数据组数。
对于每组数据,第一行输入一个整数 $n$,表示数组 $a$ 内元素个数。第二行输入 $n$ 个整数,第 $i$ 个整数代表数组 $a$ 内的第 $i$ 个元素 $a_i$。
输出格式
对于每组数据,输出仅一行,表示最少需要的操作次数。
### 输入输出样例
见下文 _输入 #1_ 和 _输出 #1_。
### 样例 #1 解释
对于第一组数据,显然数组 $a$ 里面的 $5$ 个元素都是奇数,因此无需任何操作。
对于第三组数据,一种操作次数最少的方案如下表所示。
| 操作次数 | 选择数对 | $a$ 数组 |
| :----------: | :----------: | :----------: |
| $0$ | / | $[2,3,4]$ |
| $1$ | $(1,2)$ | $[\underline5,\underline3,4]$ |
| $2$ | $(1,3)$ | $[\underline5,3,\underline9]$ |
对于第四组数据,一种操作次数最少的方案如下表所示。
| 操作次数 | 选择数对 | $a$ 数组 |
| :----------: | :----------: | :----------: |
| $0$ | / | $[3,2,2,8]$ |
| $1$ | $(1,2)$ | $[\underline3,\underline5,2,8]$ |
| $2$ | $(1,3)$ | $[\underline3,5,\underline5,8]$ |
| $3$ | $(1,4)$ | $[\underline{11},5,5,\underline8]$ |
| $4$ | $(1,4)$ | $[\underline{11},5,5,\underline{19}]$ |
说明/提示
对于所有数据:
- $1\leqslant T\leqslant 10^4$。
- $1\leqslant n\leqslant 2\times10^5$,$\sum n\leqslant 2\times 10^5$。
- $\forall i\in[1,n],1\leqslant a_i\leqslant 10^9$。
Translated by [Eason_AC](/user/112917)。