[R32C]奇偶更新 - 代码源竞赛平台

时空限制

1S/512M

题目描述

给定一个长度为 nn 的数组 AA 和 QQ 次操作。操作有两种类型:

  1. 1 x1\ x:对于数组 AA 中当前是奇数的每个数字,将它的值加上 xx。
  2. 2 x2\ x:对于数组 AA 中当前是偶数的每个数字,将它的值加上 xx。

在执行完所有 QQ 次操作后,输出整个数组 AA。

格式

输入格式

输入的第一行包含两个整数 n,Qn, Q,分别表示数组的长度和操作的次数。

第二行包含 nn 个整数 A1,A2,…,AnA_1, A_2, \ldots, A_n,表示数组的初始元素。

接下来 QQ 行,每行包含两个整数 type x,描述一次操作。type 为 11 或 22,分别对应题目描述中的两种操作类型。

输出格式

输出一行,包含 nn 个整数,用空格隔开,表示执行完所有操作后最终的数组。

样例

样例输入 #1

5 3
1 2 3 4 5
1 3
1 5
2 10

样例输出 #1

14 12 16 14 18

样例解释 #1

初始数组为 [1,2,3,4,5][1, 2, 3, 4, 5]。

  1. 第一次操作 1  31 \; 3:

    • 当前数组中的奇数是 1,3,51, 3, 5。
    • 它们分别加上 33,变为 4,6,84, 6, 8。
    • 数组变为 [4,2,6,4,8][4, 2, 6, 4, 8]。注意,此时数组中所有数都变成了偶数。
  2. 第二次操作 1  51 \; 5:

    • 当前数组 [4,2,6,4,8][4, 2, 6, 4, 8] 中没有奇数。
    • 所以这次操作不会改变任何元素。
    • 数组仍然是 [4,2,6,4,8][4, 2, 6, 4, 8]。
  3. 第三次操作 2  102 \; 10:

    • 当前数组中的偶数是 4,2,6,4,84, 2, 6, 4, 8。
    • 它们都加上 1010。
    • 数组变为 [14,12,16,14,18][14, 12, 16, 14, 18]。

所有操作结束后,最终的数组为 [14,12,16,14,18][14, 12, 16, 14, 18]。

数据规模

对于 40%40\% 的数据,1≤n,Q≤2×1031 \leq n, Q \leq 2 \times 10^3。

对于 100%100\% 的数据,1≤n,Q≤2×1051 \leq n, Q \leq 2 \times 10^5,1≤Ai,x≤1091 \leq A_i, x \leq 10^9,操作类型 type 一定是 11 或 22。