С чего бы очевидному бинарному поиску быть медленным?
Берём число в середине. Если оно совпадает со своим порядковым номером, то задвоение во второй половине, если на единицу меньше, то в первой половине. Продолжаем делить дальше нужную половину.
Нужно только не запутаться с индексами и значениями
Полагаю автор задания хочет научить нас флагу -B
Так что мой последний шаг git checkout -B master HEAD