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 翻译