国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

M--二分查找 遞歸實(shí)現(xiàn)

2019-11-10 20:07:24
字體:
供稿:網(wǎng)友

M–二分查找 Time Limit: 600MS Memory Limit: 65536KB Submit Statistic PRoblem Description

給出含有n個(gè)數(shù)的升序序列,保證序列中的數(shù)兩兩不相等,這n個(gè)數(shù)編號從1 到n。 然后給出q次詢問,每次詢問給出一個(gè)數(shù)x,若x存在于此序列中,則輸出其編號,否則輸出-1。

Input

單組輸入。首先輸入一個(gè)整數(shù)n(1 <= n && n <= 3000000),接下的一行包含n個(gè)數(shù)。 再接下來的一行包含一個(gè)正整數(shù)q(1 <= q && q <= 10000),表示有q次詢問。 再接下來的q行,每行包含一個(gè)正整數(shù)x。

Output

對于每次詢問,輸出一個(gè)整數(shù)代表答案。

Example Input

5 1 3 5 7 9 3 1 5 8

Example Output

1 3 -1

#include <stdio.h>int a[3100000];int find(int x, int y,int k){ int m=x+(y-x)/2; if(x>y) return -1; else { if(a[m]==k) return m+1; else if(a[m]>k) return find(x,m-1,k); else return find (m+1,y,k); }}int main(){ int n; int k,q,i; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); } scanf("%d",&q); while(q--) { scanf("%d",&k); printf("%d/n",find(0,n-1,k)); } return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 邹平县| 富蕴县| 伊宁县| 昌黎县| 咸阳市| 芒康县| 乌恰县| 安龙县| 上林县| 马公市| 嘉峪关市| 吴川市| 江源县| 昌图县| 黎川县| 仪陇县| 建德市| 巴东县| 伊春市| 大关县| 四川省| 青冈县| 永嘉县| 仁布县| 乌兰县| 二连浩特市| 桦南县| 北辰区| 时尚| 安宁市| 光泽县| 都昌县| 海南省| 凯里市| 玉门市| 开阳县| 涿州市| 乐至县| 勐海县| 永丰县| 淅川县|