M 二分查詢(遞迴)

2021-07-26 19:40:53 字數 666 閱讀 4391

time limit: 600ms

memory limit: 65536kb

問題描述

給出含有n個數的公升序序列,保證序列中的數兩兩不相等,這n個數編號從1 到n。

然後給出q次詢問,每次詢問給出乙個數x,若x存在於此序列中,則輸出其編號,否則輸出-1。 輸入

單組輸入。首先輸入乙個整數n(1 <= n && n <= 3000000),接下的一行包含n個數。

再接下來的一行包含乙個正整數q(1 <= q && q <= 10000),表示有q次詢問。

再接下來的q行,每行包含乙個正整數x。 輸出

對於每次詢問,輸出乙個整數代表答案。

示例輸入

5

1 3 5 7 931

58

示例輸出

13-1

#includeint s[3000000];

int f(int a,int k,int t,int key)

else if(a[mid]>key)

else

}return -1;

}int main()

{ int n,i,t;

int q,p;

scanf("%d",&n);

for(i=0; i

M 二分查詢

time limit 600ms memory limit 65536kb problem description 給出含有n個數的公升序序列,保證序列中的數兩兩不相等,這n個數編號從1 到n。然後給出q次詢問,每次詢問給出乙個數x,若x存在於此序列中,則輸出其編號,否則輸出 1。input 單組輸...

M 二分查詢

time limit 600ms memory limit 65536kb submit statistic problem description 給出含有n個數的公升序序列,保證序列中的數兩兩不相等,這n個數編號從1 到n。然後給出q次詢問,每次詢問給出乙個數x,若x存在於此序列中,則輸出其編號...

M 二分查詢

submit statistic problem description 給出含有n個數的公升序序列,保證序列中的數兩兩不相等,這n個數編號從1 到n。然後給出q次詢問,每次詢問給出乙個數x,若x存在於此序列中,則輸出其編號,否則輸出 1。input 單組輸入。首先輸入乙個整數n 1 n n 300...