1214. 二分查找(从左逼近)

请尝试手写实现二分查找。

给定一个长度为 nn不下降序列 aa,你需要处理 mm 个询问。

对于每一个询问,给定一个整数 kk,你需要给出最大的下标 ii,使得 aika_i \leq k

序列下标从 11 开始计数。

输入

第一行包含两个整数 n,m (1n,m105)n,m \ (1 \leq n,m \leq 10^5),含义如题目所示。

第二行包含 nn 个用空格间隔的整数 a1,a2,...,an (109ai109)a_1,a_2,...,a_n \ (-10^9 \leq a_i \leq 10^9),表示序列 aa

第三行包含 mm 个用空格间隔的整数 k1,k2,...,kn (109ki109)k_1,k_2,...,k_n \ (-10^9 \leq k_i \leq 10^9),第 ii 个数表示第 ii 次询问给定的数。

输出

对于每个询问,输出一行。

如果存在这样的下标,输出最大的下标;否则输出 00

样例

标准输入 复制文本
5 5
3 3 5 8 9
2 4 8 1 10
标准输出 复制文本
0
2
4
0
5
登录以提交代码。
单点时限 2 秒
内存限制 128 MB
提交 472
通过 168