再帰的バイナリサーチ

二分探索(バイナリサーチ)を再帰的に実装すると、場合によってはとても便利です。今回の課題では、配列の中で target と一致する要素が見つかったとき、その中でも最も左にある要素のインデックスを返し、見つからなかった場合には -1 を返すバイナリサーチ関数を実装します。

入力

最初の行には、要素の数を示す n (1 ≤ n ≤ ) と、クエリの数を示す q (1 ≤ q ≤ ) の2つの整数が与えられます。
次の行には、昇順で並んだ n 個の整数 () が空白区切りで与えられます。
最後の行には、探索対象となる q 個の整数 () が空白区切りで与えられます。

出力

プログラムは、各クエリで求めた結果のインデックスを q 個出力します(インデックスは0から始まります)。

入力
出力
9 3 20 22 23 23 34 49 52 55 58 49 22 24
5 1 -1
 

Constraints

Time limit: 8 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue