Комментировать

Бинарный поиск может и тупик,

Бинарный поиск может и тупик, но на тройке гигабайт данных сотня тысяч лукапов в секунду получается.

А ваш подход имеет смысл, если b известен заранее и в a нету дублей. Так бывает, конечно.