#70. set的查询

set的查询

题目描述

输入 nn 个各不相同的整数 xix_i,接着进行 mm 次查询操作,每次操作给定两个空格分隔的整数 cc, xx,其中 c[1,3]c∈[1, 3],具体含义如下:

  • 1 x: 如果 xx 存在则输出 xx,否则输出NO
  • 2 x:输出小于 xx 且和 xx 最接近的元素的值,如果不存在输出NO
  • 3 x:输出大于 xx 且和 xx 最接近的元素的值,如果不存在输出NO

输入格式

第 1 行:两个空格分隔的整数,分别表示 nnmm

第 2 行:nn个用空格分隔的整数。

第 3 到 m+2m+2 行:每行两个空格分隔的整数 ccxx

输出格式

mm 行,每次查询的结果输出一行。

样例

输入#1

5 3
1 3 5 7 9
1 4
2 6
3 10

输出#1

NO
5
NO

数据范围

  • 1n,m1061 ≤ n, m ≤ 10^6109xi,x109-10^9≤x_i, x≤10^9