#CF1687C. 早苗与巨型机器人
早苗与巨型机器人
C. 早苗与巨型机器人
每次测试时间限制:1 秒
每次测试内存限制:256 兆字节
“难道真的是这样吗?!那个只存在于我想象中的机器人?!那台巨大人形步行机器人?!!
—— 东风谷早苗”
早苗制造了一台巨型机器人——非想天则,但它的某个部分出了故障。更糟糕的是,早苗不知道如何让它停下来,她只能边修理边调整机器人的状态。
机器人的状态可以用一个长度为 的整数数组来表示。初始时,机器人的状态为 。她希望将其变为状态 。
作为一名出色的程序员,早苗掌握了复制粘贴的技巧。在一次操作中,她可以从给定的若干区间中选择一个区间,将 中对应区间的元素复制并粘贴到机器人的相同位置,覆盖该位置原本的状态。但为了避免机器人失控,她必须保证每次复制操作后,数组 的总和保持不变。形式化地说,早苗可以选择区间 ,并将 (),前提是操作后数组 的总和与操作前相同。
请判断早苗是否可以通过任意次(可能为零次)操作,将机器人从初始状态 变成目标状态 。
输入
每个测试点包含多个测试用例。第一行包含一个整数 ()——测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 (,)——数组 、 的长度以及可选择的区间数量。
第二行包含 个整数 ()——初始状态 。
第三行包含 个整数 ()——目标状态 。
接下来 行,每行包含两个整数 ()——早苗可以复制粘贴的区间。
数据保证所有测试用例的 之和与 之和均不超过 。
输出
对于每个测试用例,如果早苗可以将 变为 ,输出 "YES",否则输出 "NO"。
输出大小写不限(例如 "yEs"、"yes"、"Yes" 均视为肯定回答)。
示例
输入
2
5 2
1 5 4 2 3
3 2 5 4 1
1 3
2 5
5 2
1 5 4 2 3
3 2 4 5 1
1 2
2 4
输出
YES
NO
样例解释
测试用例 1:
一种可能的转换方式:
- 选择区间 ,操作后 。
- 选择区间 ,操作后 。
测试用例 2:
可以证明无法将 变为 。