1215. 二分查找(从右逼近)

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

给定一个长度为 n不下降序列 a,你需要处理 m 个询问。

对于每一个询问,给定一个整数 k,你需要给出最小的下标 i,使得 a_i \geq k

序列下标从 1 开始计数。

输入

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

第二行包含 n 个用空格间隔的整数 a_1,a_2,...,a_n \ (-10^9 \leq a_i \leq 10^9),表示序列 a

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

输出

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

如果存在这样的下标,输出最小的下标;否则输出 n+1

样例

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