CF1851B.Parity Sort

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 nn 的整数数组 aa。你可以对该数组进行如下操作:

  • 交换两个元素 aia_iaja_j,其中 iji \neq j,且 aia_iaja_j 要么都是偶数,要么都是奇数。

请判断是否可以通过若干次(可以为零次)上述操作,将数组按非递减顺序排序。

例如,设 a=[7,10,1,3,2]a = [7, 10, 1, 3, 2]。我们可以进行 33 次操作将数组排序:

  1. 交换 a3=1a_3 = 1a1=7a_1 = 7,因为 1177 都是奇数。得到 a=[1,10,7,3,2]a = [1, 10, 7, 3, 2]
  2. 交换 a2=10a_2 = 10a5=2a_5 = 2,因为 101022 都是偶数。得到 a=[1,2,7,3,10]a = [1, 2, 7, 3, 10]
  3. 交换 a4=3a_4 = 3a3=7a_3 = 7,因为 3377 都是奇数。得到 a=[1,2,3,7,10]a = [1, 2, 3, 7, 10]

输入格式

输入的第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n2×1051 \le n \le 2 \times 10^5),表示数组 aa 的长度。

每个测试用例的第二行包含 nn 个正整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9),表示数组 aa 的元素。

保证所有测试用例中 nn 的总和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出一行:

  • 如果可以通过若干次操作将数组排序,输出 YES;
  • 否则输出 NO。

你可以用任意大小写形式输出 YES 和 NO(例如 yEs, yes, Yes 和 YES 都会被识别为肯定回答)。

输入输出样例

  • 输入#1

    6
    5
    7 10 1 3 2
    4
    11 9 3 5
    5
    11 3 15 3 2
    6
    10 7 8 1 2 3
    1
    10
    5
    6 6 4 1 6

    输出#1

    YES
    YES
    NO
    NO
    YES
    NO
首页