首页 > 试题广场 >

我们惺惺相惜

[编程题]我们惺惺相惜
  • 热度指数:697 时间限制:C/C++ 5秒,其他语言10秒 空间限制:C/C++ 1024M,其他语言2048M
  • 算法知识视频讲解
给定一个长度为 n 的数组 a,我们定义一个区间 [l,r]是好的,当且仅当这个区间可以分成两个非空的子序列,元素之间相对顺序不变,使得这两个子序列都是严格单调递增子序列。

对于给出多次询问,你需要问答区间是不是好区间。

输入描述:
第一行一个整数 T(1\leq T\leq 20000),表示有 T 次询问。

对于每次询问,第一行两个整数 n,q(2\leq n,q\leq 2\times 10^5),第二行 n 个整数 a_i(1\leq a_i\leq 10^9),表示数组 a

接下来 q 行,每行两个整数 l,r(1\leq l< r\leq n),表示询问的区间。

单个测试文件保证 nq 的和均不超过 2\times 10^5


输出描述:
对于每次询问,输出一行,如果区间是好区间,输出 YES,否则输出 NO
示例1

输入

2
4 2
1 2 3 3
1 3
1 2
5 3
4 5 4 5 3
1 4
1 5
2 4

输出

YES
YES
YES
NO
YES

这道题你会答吗?花几分钟告诉大家答案吧!