3876: 【例83.2】 二分查找
文件提交:无需freopen
内存限制:512 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
1
提交:20
解决:1
题目描述
## 【例83.2】 二分查找
时间限制:1000 ms
空间限制:512 MiB
题目类型:传统
### 题目描述
对有序数组进行二分查找,是一种性能卓越的算法:目标是在有序数组a[]中查找是否有a[k]=key,若有返回 $k$ ,否则返回 $-1$ 。
* 若有多个a[k]=key,请输出最小的 $k$
* 下标 $k$ 从1开始计数
### 输入格式
第一行包含 $1$ 个整数 $N$ ,代表数组长度
第二行包含 $N个(N ≤ 30000)$ int范围内的整数,保证升序,空格隔开。
第三行包含 $1$ 个整数T,代表有 $T$ 组询问
第四行包含 $T$ 个 $(T ≤ 30000)$ int范围内的整数,表示每组询问需要查找的key值,空格隔开。
### 输出格式
一行,对于每组询问输出结果 $(k$ $ or -1)$ ,空格隔开。
### 样例
#### 样例输入
```
3
-2 -2 1
3
-2 -2 -1
```
#### 样例输出
```
1 1 -1
```
### 数据范围与提示
对于 $100\%$ 的数据, $N ≤ 30000,T ≤ 30000 $。
### 分类标签
(无)