На вход подается натуральное число затем
натуральных чисел в порядке неубывания. Определите, на каком месте впервые встречается число
. В качестве ответа укажите индекс данного числа в массиве, индексация начинается с
.
def bin_search(a, x):
n = len(a)
left = -1
right = n
while right - left > 1:
middle = (left + right) // 2
if a[middle] >= x:
right = middle
else:
left = middle
if right != n and a[right] == x:
return right
else:
return -1
f = open(’test.txt’)
n = int(f.readline())
a = [int(f.readline()) for i in range(n)]
print(bin_search(a, 10))
Ответ: 16