Task 97. Место в строю
UniLecsЗадача: снова урок физкультуры, дети стоят в строю по росту (первый самый высокий, последний - самый низкий). Ваня опоздал на урок и ему нужно встать на свое место в строю. Необходимо определить место (номер в строю) куда нужно встать Ване. Если в строю есть люди с таким же ростом как у Вани, то он должен встать после них.
Входные данные: X - рост Вани; Arr - убывающий массив натуральных чисел, ктр содержит рост каждого человека в строю. Значения X и элементы массива Arr больше 0 и меньше 200. Длина массива Arr не больше 1000.
Вывод: вывести место (номер в строю), куда Ваня должен встать (нумерация в строю начинается с 1).
Пример: X = 152; Arr = [155, 153, 150, 150, 147, 145, 144]
Answer = 3
Идея: нужно найти индекс в отсортированном массиве по заданному значению X - это одна из классических задач по бинарному поиску.
Почитать подробнее про бинарный поиск можно тут:
Реализация:
https://gist.github.com/unilecs/46141fa8bc3c7d675014840bf32b4f8d
Test: