Ответ:
На каждом шаге рассматриваем середину текущего диапазона.
- Если l > r, элемента x в массиве нет.
- Находим mid = l + ⌊(r−l)/2⌋.
- Если arr[mid] = x, возвращаем mid.
- Если arr[mid] < x, продолжаем поиск в диапазоне от mid+1 до r; иначе — от l до mid−1.
Диапазон поиска каждый раз уменьшается примерно вдвое, поэтому время работы — O(log n). Конкретный индекс нельзя определить без массива и значения x.
Ответ: алгоритм рекурсивно сужает отсортированный диапазон; для поиска конкретного элемента нужны arr и x.
