#CF3743. 火车与查询

火车与查询

题目描述

沿着铁路线有从 1110910^9 编号的车站。快速列车始终沿着由 nn 个车站组成的路线行驶,车站编号为 u1,u2,,un(1ui109)u_1,u_2,…,u_n(1≤u_i≤10^9)。列车从左到右沿着路线行驶。它从站点 u1u_1 开始,然后在站点 u2u_2 停靠,然后在 u3u_3 停靠,依此类推,直到终点站 unu_n

列车可能会多次访问同一个车站。也就是说,在 u1,u2,,unu_1,u_2,…,u_n 的值中可能有重复。

给定 kk 个查询,每个查询包含两个不同的整数 aja_jbj(1aj,bj109)b_j(1≤a_j,b_j≤10^9)。对于每个查询,请确定是否可以从编号为 aja_j 的车站到达编号为 bjb_j 的车站。

例如,假设列车路线由编号为 [3,7,1,5,1,4][3,7,1,5,1,4]66 个车站组成,并给出以下 33 个查询:

a1=3b1=5a_1=3,b_1=5

可以通过取由站点 [3,7,1,5][3,7,1,5] 组成的路段从站点 3 到站点 5 行驶。答案:YES

a2=1b2=7a_2=1,b_2=7

无法从站点 1 到站点 7 行驶,因为列车不能反向行驶。答案:NO

a3=3b3=10a_3=3,b_3=10

10 不是站点之一,所以无法到达。答案:NO

输入格式

输入的第一行包含一个整数 t(1t104)t(1≤t≤10^4) —— 测试用例的数量。

接下来是每个测试用例的描述。

每个测试用例的第一行为空行。

每个测试用例的第二行包含两个整数:nnk(1n21051k2105)k(1≤n≤2⋅10^5,1≤k≤2⋅10^5) —— 列车路线中站点的数量和查询的数量。

每个测试用例的第三行恰好包含 nn 个整数 u1,u2,,un(1ui109)u_1,u_2,…,u_n(1≤u_i≤10^9)u1,u2,,unu_1,u_2,…,u_n 的值不一定不同。

接下来的 kk 行包含两个不同的整数 aja_jbj(1aj,bj109)b_j(1≤a_j,b_j≤10^9),描述第 jj 个查询。

保证所有测试用例中 nn 的总和不超过 21052⋅10^5。同样保证所有测试用例中 kk 的总和也不超过 21052⋅10^5

输出格式

请对每个测试用例单独输出:

  • 如果您可以从索引为 aja_j 的站到达索引为 bjb_j 的站,请输出 YES
  • 否则,请输出 NO

您可以以任何大小写输出 YESNO(例如,字符串yEsyesYesYES 都将被视为肯定的答案)。

测试样例

3

6 3
3 7 1 5 1 4
3 5
1 7
3 10

3 3
1 2 1
2 1
1 2
4 5

7 5
2 1 1 1 2 4 4
1 3
1 4
2 1
4 1
1 2
YES
NO
NO
YES
YES
NO
NO
YES
YES
NO
YES

样例说明

第一个测试用例已在问题陈述中进行了解释。