问题陈述
斯基比达斯得到了两个数组 a 和 b ,分别包含 n 和 m 个元素。对于从 1 到 n 的每个整数 i ,他最多可以执行1次操作:
- 选择一个整数 j ,使得 1≤j≤m .设 ai:=bj−ai 。注意, ai 可能会因为这个操作而变成非正数。
斯基比达斯需要你的帮助,以确定他能否通过执行上述操作若干次,将 a 按非递减顺序排序。
如果 a1≤a2≤…≤an ,则 a 按非递减顺序排序。
输入格式
第一行包含一个整数 t ( 1≤t≤104 )。( 1≤t≤104 ) - 测试用例的数量。
每个测试用例的第一行包含两个整数 n 和 m ( 1≤n≤2⋅105 , 1≤m≤2⋅105 )。
每个测试用例的下一行包含 n 个整数 a1,a2,…,an ( 1≤ai≤109 )。
每个测试用例的下面一行包含 m 个整数 b1,b2,…,bm ( 1≤bi≤109 ).
保证所有测试用例中 n 和 m 的总和不超过 2⋅105 。
输出格式
对于每个测试用例,如果可以对 a 进行非递减排序,则在新行上打印 "YES"。否则,另起一行打印 "NO"。(没有引号)
样例1
5
1 3
5
9 1 1000000000
3 2
1 4 3
3 4
4 3
2 4 6 5
6 1 8
5 2
6 4 5 4 5
4 1000
3 1
9 8 7
8
output
YES
NO
YES
NO
YES
限制与约定
对于 20% 的数据,m=1 。
对于 40% 的数据,n≤ 100,m≤ 100
对于 100% 的数据,n和m的总和不超过
2⋅105。
- 时间限制: 1s
- 空间限制: 256MB