对有序数组进行二分查找,是一种性能卓越的算法:目标是在有序数组a[]
中查找是否有a[k]=key
,若有返回k,否则返回-1。
a[k]=key
,请输出最小的k。第一行包含1个整数N,代表数组长度。
第二行包含N个(N \le 30000)int范围内的整数,保证升序,空格隔开。
第三行包含1个整数T,代表有T组询问。
第四行包含T个(T \le 30000)int范围内的整数,表示每组询问需要查找的key值,空格隔开。
一行,对于每组询问输出结果(k or -1
),空格隔开。
3 -2 -2 1 3 -2 -2 -1
1 1 -1
时间限制 | 1 秒 |
内存限制 | 64 MB |