Задача №111728. Левый и правый двоичный поиск
2018 Баллы за последние 5 задач будут удвоены.Засчитываются и частичные решения. Тур длится 3ч 30мин (с 9ч 30мин по 13ч 00мин)
Дано два списка чисел, числа в первом списке упорядочены по неубыванию. Для каждого числа из второго списка определите номер первого и последнего появления этого числа в первом списке.
В первой строке входных данных записано два числа \(N\) и \(M\) (\(1\le N, M\le 20000\)). Во второй строке записано \(N\) упорядоченных по неубыванию целых чисел — элементы первого списка. В третьей строке записаны \(M\) целых неотрицательных чисел - элементы второго списка. Все числа в списках - целые 32-битные знаковые.
Программа должна вывести \(M\) строчек. Для каждого числа из второго списка нужно вывести номер его первого и последнего вхождения в первый список. Нумерация начинается с единицы. Если число не входит в первый список, нужно вывести одно число \(0\).
10 5 1 1 3 3 5 7 9 18 18 57 57 3 9 1 179
10 10 3 4 7 7 1 2 0