CF1993B.Parity and Sum
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个包含 n 个整数的数组 a。
每次操作中,你可以选择任意一个数对 (i,j),使得 ai 和 aj 奇偶性不同,即 ai 和 aj 既不同为奇数也不同为偶数。然后将 ai 和 aj 中值较小的那一个的元素的值替换为这两个元素的和,即:
- 如果 ai<aj,那么将 ai 替换为 ai+aj。
- 否则将 aj 替换为 ai+aj。
现在需要通过若干次上述操作使得数组 a 中所有元素的奇偶性相同。请你求出最少需要多少次操作。
输入格式
本题包含多组数据。
第一行输入一个整数 T,表示数据组数。
对于每组数据,第一行输入一个整数 n,表示数组 a 内元素个数。第二行输入 n 个整数,第 i 个整数代表数组 a 内的第 i 个元素 ai。
输出格式
对于每组数据,输出仅一行,表示最少需要的操作次数。
输入输出样例
见下文 输入 #1 和 输出 #1。
样例 #1 解释
对于第一组数据,显然数组 a 里面的 5 个元素都是奇数,因此无需任何操作。
对于第三组数据,一种操作次数最少的方案如下表所示。
| 操作次数 | 选择数对 | a 数组 |
|---|---|---|
| 0 | / | [2,3,4] |
| 1 | (1,2) | [5,3,4] |
| 2 | (1,3) | [5,3,9] |
对于第四组数据,一种操作次数最少的方案如下表所示。
| 操作次数 | 选择数对 | a 数组 |
|---|---|---|
| 0 | / | [3,2,2,8] |
| 1 | (1,2) | [3,5,2,8] |
| 2 | (1,3) | [3,5,5,8] |
| 3 | (1,4) | [11,5,5,8] |
| 4 | (1,4) | [11,5,5,19] |
输入输出样例
输入#1
7 5 1 3 5 7 9 4 4 4 4 4 3 2 3 4 4 3 2 2 8 6 4 3 6 1 2 1 6 3 6 1 2 1 2 5 999999996 999999997 999999998 999999999 1000000000
输出#1
0 0 2 4 3 3 3
说明/提示
输入解题思路,AI测评打分。不知道怎么写?