#P1456. 二分查找

二分查找

题目描述

对有序数组进行二分查找,是一种性能卓越的算法:目标是在有序数组 a[] 中查找是否有 a[k]=key,若有返回 kk,否则返回 1-1

  • 若有多个 a[k]=key,请输出最小的 kk
  • 下标 kk11 开始计数。

输入格式

第一行包含 11 个整数 NN,代表数组长度。

第二行包含 NN 个(N30000N \le 30000)int范围内的整数,保证升序,空格隔开。

第三行包含 11 个整数 TT,代表有 TT 组询问。

第四行包含 TT 个(T30000T \le 30000)int范围内的整数,表示每组询问需要查找的 keykey 值,空格隔开。

输出格式

一行,对于每组询问输出结果(k or -1),空格隔开。

3
-2 -2 1
3
-2 -2 -1
1 1 -1