Binary Search
Citește un tablou sortat de N numere întregi și o valoare căutată. Găsește valoarea folosind căutarea binară și afișează indicele ei (începând de la 0), sau -1 dacă valoarea nu este găsită.
Căutarea binară funcționează înjumătățind în mod repetat intervalul de căutare. Compară valoarea căutată cu elementul din mijloc: dacă sunt egale, ai găsit-o; dacă este mai mică, caută în jumătatea stângă; dacă este mai mare, caută în jumătatea dreaptă. Se execută în timp O(log N).
Date de intrare
- Prima linie: un întreg
N(1 <= N <= 2·10^4) - Următoarele
Nlinii: câte un număr întreg (fiecare între -10^6 și 10^6), sortate crescător - Linia următoare: un întreg
cautat(între -10^6 și 10^6), valoarea de găsit
Rezultat
Un singur întreg: indicele (începând de la 0) al valorii căutate în tablou, sau -1 dacă nu este găsită.
Exemple
Intrare:
5
1
3
5
7
9
5
Ieșire: 2
Intrare:
4
10
20
30
40
25
Ieșire: -1
Intrare:
1
5
5
Ieșire: 0
Un tablou cu un singur element funcționează la fel: stanga și dreapta pornesc amândoi de la 0.
Intrare:
1
5
3
Ieșire: -1