B4362 eqal_range
题目描述
给定一个数列 $a = [a_1, a_2, \dots, a_n]$,有 $q$ 次询问,每次询问给出一个整数 $x$,你要回答:序列 $a$ 里最小的比 $x$ 大的数是多少?$a$ 里最大的比 $x$ 小的数是多少?
输入格式
第一行是两个整数,表示序列长度 $n$ 和询问次数 $q$。
第二行有 $n$ 个整数表示 $a_1, a_2, \dots a_n$。
接下来 $q$ 行,每行一个整数 $x$ 表示查询的数字。
输出格式
对每次查询,输出两个整数 $u,v$,依次表示数列 $a$ 里最小的比 $x$ 大的数和最大的比 $x$ 小的数。
如果相应的数不存在,在对应位置输出 $-1$。
说明/提示
对全部的测试数据,保证 $1 \leq n,q \leq 10^6$,$1 \leq a_i, x \leq 10^9$。
**请注意大量数据读入对程序效率造成的影响**。