CF2248B Merge to Match
题目描述
给定两个数组 $a$ 和 $b$,长度分别为 $n$ 和 $m$。这两个数组中的 $n + m$ 个整数互不相同。
你可以对数组 $a$ 进行如下任意次数(包括零次)操作:
- 任选 $a$ 中的两个元素 $x$ 和 $y$,满足 $x \le y$。
- 删除这两个元素。
- 向 $a$ 中插入一个整数 $z$,满足 $x \le z \le y$。
所有操作完成后,你可以将 $a$ 中的元素任意排列。
请判断能否通过上述操作,将 $a$ 变为 $b$。
输入格式
每组测试数据包含多个测试用例。第一行为测试用例数 $t$,满足 $1 \le t \le 10^4$。
每个测试用例的第一行包含两个整数 $n$ 和 $m$,即数组 $a$ 和 $b$ 的长度,满足 $1 \le n, m \le 2 \cdot 10^5$。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$,满足 $1 \le a_i \le 10^9$。
第三行包含 $m$ 个整数 $b_1, b_2, \ldots, b_m$,满足 $1 \le b_i \le 10^9$。
保证数组 $a$ 和 $b$ 中所有 $n + m$ 个整数均互不相同。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$,所有测试用例中 $m$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,如果可以将 $a$ 变为 $b$,输出 "YES";否则输出 "NO"。
输出对大小写不敏感。例如,"yEs"、"yes"、"Yes"、"YES" 都会被判为正确。
说明/提示
在第一个测试用例中,选择 $1$ 和 $3$,删除它们,插入 $2$。
在第二个测试用例中,无论如何操作,都无法将 $a$ 变为 $b$。
在第三个测试用例中,选择 $1$ 和 $5$,删除它们,插入 $4$。然后选择 $3$ 和 $7$,删除它们,插入 $6$。
在第六个测试用例中,先选择 $1$ 和 $10$,删除它们,插入 $5$。再选择 $6$ 和 $100$,删除它们,插入 $90$。最后选择 $4$ 和 $5$,删除它们,插入 $5$。
在第七个测试用例中,对于对 $(1,4)$、$(10,20)$、$(30,40)$,分别删除这两个元素,插入 $3$、$15$ 和 $35$。
在第九个测试用例中,删除 $(1,3)$、$(8,18)$、$(25,30)$,分别插入 $2$、$15$ 和 $28$。然后再删除 $12$ 和 $15$,插入 $15$。
在第十个测试用例中,先选择 $1$ 和 $2$ 删除,插入 $2$;然后选择 $2$ 和 $3$ 删除,插入 $3$;最后选择 $3$ 和 $5$,删除,插入 $4$。
由 ChatGPT 5 翻译