3883: 练83.5 二分查找2

文件提交:无需freopen 内存限制:512 MB 时间限制:1.000 S
评测方式:普通裁判
金币值:1
命题人:
提交:14 解决:1

题目描述

## 练83.5 二分查找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)$ ,空格隔开。 ### 样例 #### 样例输入 ``` 4 -2 -2 -2 1 3 -2 -2 -1 ``` #### 样例输出 ``` 3 3 -1 ``` ### 数据范围与提示 ### 分类标签 (无)