琪露诺的 K 维偏序
题号:NC307868
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}笨蛋琪露诺理解错了 K 维偏序的意思:给一个长度为 n单调不减的整数数组 a_1,a_2,\dots,a_n,有 q 次询问,第 i 次询问两个整数 k_i,x_i,回答是否能从数组 a 中取出索引不同的 k_i 个元素,使得这 k_i 个元素都严格小于 x_i
\hspace{15pt}你能解决她错误理解的这个 K 维偏序问题吗?

输入描述:

\hspace{15pt}第一行输入两个整数 n,q\left(1 \le n,q \le 10^5\right),表示数组长度、询问的次数。
\hspace{15pt}第二行输入 n 个整数 a_1,a_2,\cdots,a_n\left(1 \le a_1 \le a_2 \le \cdots \le a_n \le 10^9\right),表示初始数组。
\hspace{15pt}此后 q 行,第 i 行两个整数 k_i,x_i \left(1 \le k_i \le n;\, 1 \le x_i \le 10^9 \right),表示第 i 次询问。

输出描述:

\hspace{15pt}对于每一次询问,新起一行。如果存在 k_i 个元素都严格小于 x_i,输出 \texttt{Yes},否则输出 \texttt{No}

\hspace{15pt}您可以以任何大小写形式输出答案。例如,字符串 \rm{yEs}\rm{yes} 和 \rm{Yes} 都将被视为肯定的回答。
示例1

输入

复制
5 4
1 1 4 5 14
2 1
2 2
4 20
5 4

输出

复制
No
Yes
Yes
No

说明

\hspace{15pt}在这个样例中,数组 a = \{1,1,4,5,14\}
\hspace{23pt}\bullet\,对于第一次询问,很显然无法找出 2 个小于 1 的数;
\hspace{23pt}\bullet\,对于第二次询问,可以找到 a_1,a_2 都小于 2
\hspace{23pt}\bullet\,对于第三次询问,全部 5 个元素都小于 20
\hspace{23pt}\bullet\,对于第四次询问,很显然无法找出 5 个小于 4 的数。

备注:

图片
Papy 想要出一题五维偏序签到题,CirnoNine 同意了!