#12560: C++ 簡易參考解答


shawn2000100 (東華財金)

學校 : 國立東華大學
編號 : 57300
來源 : [27.53.168.5]
最後登入時間 :
2021-09-19 19:53:19
d732. 二分搜尋法 | From: [124.9.164.37] | 發表日期 : 2017-08-12 11:28

#include <iostream>
using namespace std;

int n, k, A[100001], src;

int bin_src ( int lt, int rt, int key ) {
if ( lt > rt )
return 0;
int m = ( lt + rt ) / 2;
if ( key == A[m] )
return m;
if ( key < A[m] )
return bin_src ( lt, m - 1, key );
if ( key > A[m] )
return bin_src ( m + 1, rt, key );
}

int main() {
while ( cin >> n >> k ) {
for ( int i = 1; i <= n; ++i )
cin >> A[i];
for ( int i = 1; i <= k; ++i ) {
cin >> src;
cout << bin_src ( 1, n, src ) << endl;
}
}
return 0;
}

 
ZeroJudge Forum