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