CF1993B.Parity and Sum

普及-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个包含 nn 个整数的数组 aa。

每次操作中,你可以选择任意一个数对 (i,j)(i,j),使得 aia_i 和 aja_j 奇偶性不同,即 aia_i 和 aja_j 既不同为奇数也不同为偶数。然后将 aia_i 和 aja_j 中值较小的那一个的元素的值替换为这两个元素的和,即:

  • 如果 ai<aja_i<a_j,那么将 aia_i 替换为 ai+aja_i+a_j。
  • 否则将 aja_j 替换为 ai+aja_i+a_j。

现在需要通过若干次上述操作使得数组 aa 中所有元素的奇偶性相同。请你求出最少需要多少次操作。

输入格式

本题包含多组数据。

第一行输入一个整数 TT,表示数据组数。

对于每组数据,第一行输入一个整数 nn,表示数组 aa 内元素个数。第二行输入 nn 个整数,第 ii 个整数代表数组 aa 内的第 ii 个元素 aia_i。

输出格式

对于每组数据,输出仅一行,表示最少需要的操作次数。

输入输出样例

见下文 输入 #1 和 输出 #1。

样例 #1 解释

对于第一组数据,显然数组 aa 里面的 55 个元素都是奇数,因此无需任何操作。

对于第三组数据,一种操作次数最少的方案如下表所示。

操作次数 选择数对 aa 数组
00 / [2,3,4][2,3,4]
11 (1,2)(1,2) [5‾,3‾,4][\underline5,\underline3,4]
22 (1,3)(1,3) [5‾,3,9‾][\underline5,3,\underline9]

对于第四组数据,一种操作次数最少的方案如下表所示。

操作次数 选择数对 aa 数组
00 / [3,2,2,8][3,2,2,8]
11 (1,2)(1,2) [3‾,5‾,2,8][\underline3,\underline5,2,8]
22 (1,3)(1,3) [3‾,5,5‾,8][\underline3,5,\underline5,8]
33 (1,4)(1,4) [11‾,5,5,8‾][\underline{11},5,5,\underline8]
44 (1,4)(1,4) [11‾,5,5,19‾][\underline{11},5,5,\underline{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

说明/提示

对于所有数据:

  • 1⩽T⩽1041\leqslant T\leqslant 10^4。
  • 1⩽n⩽2×1051\leqslant n\leqslant 2\times10^5,∑n⩽2×105\sum n\leqslant 2\times 10^5。
  • ∀i∈[1,n],1⩽ai⩽109\forall i\in[1,n],1\leqslant a_i\leqslant 10^9。

Translated by Eason_AC。

输入解题思路,AI测评打分。不知道怎么写?

首页