Олимпиадный тренинг

Задача . Одна ячейка: почему число не нашлось?


Задача

Темы:

Программа должна вывести номер элемента, равного x, или 0, если такого элемента нет. Номера в ответе начинаются с 1. Обе рабочие границы l и r входят в область поиска.

a = [7]
x = 7
l = 0
r = len(a) - 1
ans = 0

while l < r:
    mid = (l + r) // 2
    if a[mid] == x:
        ans = mid + 1
        break
    elif a[mid] < x:
        l = mid + 1
    else:
        r = mid - 1

print(ans)

Что выведет эта программа? Выберите верное объяснение.


Комментарий учителя