O algoritmo de busca binária é um algoritmo clássico que busca que é usado como uma alternativa rápida para fazer buscas num conjunto de dados. Para que o algoritmo funcione, o conjunto deve estar ordenado.
Para fixar ideias, sua tarefa, nesse exercício, é ler um conjunto de números inteiros e, em seguida, ler números inteiros que devem ser buscados no conjunto de dados. Dado um inteiro , seu algoritmo deve retornar um índice tal que .
A entrada é composta linhas. A primeira linha contém o valor de e , respectivamente (). As linhas seguintes contém números inteiros (que cabem num inteiro de 32 bits) que compõem o conjunto de dados de interesse de busca. Os números são dados em ordem não decrescente. As linhas seguintes contêm os inteiros que devem ser procurados no conjunto de dados.
Para cada inteiro dado, você deve imprimir tal que .
5 4
1
3
4
7
9
0
15
3
5
0
5
1
3