CF1702C.Train and Queries

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Train and Queries

题目描述

沿着铁路有编号从 1110910^9 的车站。一列特快列车总是沿着由 nn 个车站组成的路线行驶,这些车站的编号为 u1,u2,,unu_1, u_2, \dots, u_n,其中 1ui1091 \le u_i \le 10^9。列车从左到右依次经过这些车站。它从车站 u1u_1 出发,随后依次停靠 u2u_2u3u_3,以此类推,终点站为 unu_n

列车可能会多次经过同一个车站。也就是说,u1,u2,,unu_1, u_2, \dots, u_n 中可能存在重复的编号。

你将得到 kk 个询问,每个询问包含两个不同的整数 aja_jbjb_j1aj,bj1091 \le a_j, b_j \le 10^9)。对于每个询问,判断是否可以乘坐列车从编号为 aja_j 的车站到编号为 bjb_j 的车站。

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

  • a1=3a_1 = 3b1=5b_1 = 5:可以从车站 33 乘车到车站 55,路线为 3,7,1,53, 7, 1, 5。答案:YES。
  • a2=1a_2 = 1b2=7b_2 = 7:不能从车站 11 到车站 77,因为列车不能逆向行驶。答案:NO。
  • a3=3a_3 = 3b3=10b_3 = 10:不能从车站 33 到车站 1010,因为车站 1010 不在列车路线中。答案:NO。

输入格式

输入的第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

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

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

第二行包含两个整数 nnkk($1 \le n \le 2 \times 10^5, 1 \le k \le 2 \times 10^5$),分别表示列车路线包含的车站数量和询问数量。

第三行包含恰好 nn 个整数 u1,u2,,unu_1, u_2, \dots, u_n1ui1091 \le u_i \le 10^9)。这些值不一定互不相同。

接下来的 kk 行,每行包含两个不同的整数 aja_jbjb_j1aj,bj1091 \le a_j, b_j \le 10^9),描述第 jj 个询问。

保证所有测试用例中 nn 的总和不超过 2×1052 \times 10^5,所有测试用例中 kk 的总和也不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出 kk 行:

  • 如果可以乘坐列车从编号为 aja_j 的车站到编号为 bjb_j 的车站,输出 YES;
  • 否则输出 NO。

YES 和 NO 的大小写均可(例如 yEs、yes、Yes 和 YES 都视为肯定回答)。

说明/提示

第一个测试用例的解释见题目描述。

由 ChatGPT 4.1 翻译

样例

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

在线编程 IDE

建议全屏模式获得最佳体验