#X0001. 【模板】二分查找 Binary Search

【模板】二分查找 Binary Search

描述

给定一个长度为 n 的升序整数数组 nums,数组中的元素互不相同。

接下来有 m 次询问,每次询问给出一个整数 x,请判断 x 是否在数组中出现过。

如果 x 出现在数组中,请输出它在数组 nums 中的索引;否则输出 -1。

数组索引从 0 开始。

格式

输入

第一行两个整数 n 和 m,分别表示数组长度和询问次数。

接下来 n 行,每行一个整数,表示数组 nums 中的元素。

接下来 m 行,每行一个整数 x,表示一次询问。

输出

对于每次询问,如果 x 在数组中出现过,输出 x 在数组中的索引。

否则输出 -1。

示例

5 4
1
3
5
7
9
3
4
9
0
1
-1
4
-1
4 3
-5
-2
0
10
-5
1
10
0
-1
3

数据约定

  • 1≤n≤1051 \le n \le 10^5
  • 1≤m≤1051 \le m \le 10^5
  • −109≤nums[i]≤109-10^9 \le nums[i] \le 10^9
  • nums 按照从小到大的顺序排列
  • nums 中的整数互不相同
  • −109≤x≤109-10^9 \le x \le 10^9