在从枪林弹雨中逃脱之后,龙 Evirir 这次太累了,没法写背景故事了。
给定一个正整数 $M$。有两个由非负整数组成的列表 $A_0$ 和 $A_1$,并且列表中的所有整数都在 $0$ 到 $M$(包含)之间。
你可以进行若干次(可以为零次)如下操作:
- 选择一个列表 $A_i$($i = 0$ 或 $1$),并从中选择一个整数 $x$。从 $A_i$ 中删除(一个)$x$,并将(一个)$M - x$ 插入到 $A_{1-i}$(即另一个列表)中。
此外,在所有操作结束后,$A_0$ 和 $A_1$ 必须都非空。某个列表在操作过程中可以变为空,但在所有操作结束后,两个列表都必须非空。
你想知道是否可以通过上述操作,使得两个列表中的最大值分别等于指定的值。你还想知道,在进行插入或删除整数后,答案是否会发生变化。
按顺序处理 $Q$ 个询问,每个询问属于以下三种类型之一:
- 类型 1:
1 i x- 向 $A_i$ 中添加(一个)$x$。
- 类型 2:
2 i x- 从 $A_i$ 中删除(一个)$x$。
- 类型 3:
3 c_0 c_1- 回答问题:是否可以通过进行若干次操作$^1$,使得 $\max(A_0) = c_0$ 且 $\max(A_1) = c_1$?
- 输出
YES或NO。
注意:对于类型 3 的询问,你不需要真的执行任何操作,只需判断是否存在可行方案。
$^1$ 这里,$\max(A_i)$ 表示 $A_i$ 中的最大整数。
输入格式
第一行包含三个用空格分隔的整数 $N_0$、$N_1$ 和 $M$ ($0 \le N_0, N_1 \le 2 \cdot 10^5$,$N_0 + N_1 \le 2 \cdot 10^5$,$0 \le M \le 10^9$),其中 $N_0$ 和 $N_1$ 分别表示 $A_0$ 和 $A_1$ 的长度。
第二行包含 $N_0$ 个整数,表示 $A_0$ 的元素。对于每个整数 $x$,满足 $0 \le x \le M$。如果 $N_0 = 0$,则该行为空行。
第三行包含 $N_1$ 个整数,表示 $A_1$ 的元素。对于每个整数 $x$,满足 $0 \le x \le M$。如果 $N_1 = 0$,则该行为空行。
第四行包含一个整数 $Q$($1 \le Q \le 2 \cdot 10^5$),表示询问数量。
接下来 $Q$ 行,每行包含三个用空格分隔的整数,表示一个询问,形式如下之一:
1 i x($i = 0$ 或 $1$,$0 \le x \le M$)2 i x($i = 0$ 或 $1$,$0 \le x \le M$)
保证在该询问给出时,$A_i$ 中一定包含 $x$。3 c_0 c_1($0 \le c_0, c_1 \le M$)
保证在该询问给出时,$A_0$ 和 $A_1$ 中的整数总数至少为 $2$。
保证至少存在一个类型 3 的询问。
输出格式
对于每个类型 3 的询问,按照给定顺序输出答案:
- 如果答案为是,输出一行
YES; - 否则输出一行
NO。
YES 和 NO 的大小写不限。例如,yes、yEs 会被视为 YES;no、No 会被视为 NO。
子任务
- 子任务 1(17 分):$N_0, M, Q \le 100$,$N_1 = 0$。所有询问均为类型 3,且满足 $c_0 = M - c_1$。
- 子任务 2(9 分):$N_1 = 0$。所有询问均为类型 3,且满足 $c_0 = M - c_1$。
- 子任务 3(14 分):$M \le 2$。所有询问均为类型 3。
- 子任务 4(28 分):$N_0 + N_1 \le 2000$,$Q \le 2000$。所有询问均为类型 3。
- 子任务 5(21 分):所有询问均为类型 3。
- 子任务 6(11 分):无额外限制。
样例数据
样例 1
standard input
5 4 10 3 4 6 7 0 1 3 7 8 11 3 7 3 3 0 1 3 6 9 3 4 4 3 7 8 2 1 3 1 0 5 1 1 2 3 4 4 3 0 10 3 7 5
standard output
YES NO NO YES YES NO NO YES
样例 2
standard input
10 0 8 2 2 3 3 3 1 5 5 5 6 4 3 2 6 3 6 2 3 5 3 3 3 5
standard output
YES NO YES YES
样例 3
standard input
0 0 10 5 1 1 4 1 1 6 2 1 4 1 0 4 3 4 6
standard output
YES
说明
样例 1
对于第一个询问 3 7 3,可以进行如下操作:
- 从 $A_1$ 中选择 $8$:删除 $8$,并向 $A_0$ 插入 $10 - 8 = 2$;
- 从 $A_1$ 中选择 $7$:删除 $7$,并向 $A_0$ 插入 $10 - 7 = 3$。
此时
$A_0 = [3, 4, 6, 7, 0, 2, 3]$,
$A_1 = [1, 3]$。
此时 $A_0$ 和 $A_1$ 的最大值分别为 $7$ 和 $3$,满足要求,因此答案为 YES。
对于第四个询问 3 4 4,可以对 $A_0$ 中的 $6$ 和 $7$,以及 $A_1$ 中的 $7$ 和 $8$ 进行操作。结果为:
$A_0 = [3, 4, 0, 3, 2]$,
$A_1 = [1, 3, 4, 3]$。
对于第五个询问 3 7 8,此时 $A_0$ 和 $A_1$ 的最大值已经分别为 $7$ 和 $8$,无需操作。
在第六个询问 2 1 3 之后,$A_1 = [1, 7, 8]$。
在第七和第八个询问(1 0 5 和 1 1 2)之后:
$A_0 = [3, 4, 6, 7, 0, 5]$,
$A_1 = [1, 7, 8, 2]$。
样例 2
该样例满足子任务 1 和 2 的限制。对于第一个询问,可以从 $A_0$ 中删除一个 $2$,并向 $A_1$ 插入 $8 - 2 = 6$。
样例 3
注意,两个列表在初始时可以都为空。