Предметы
- Математика
- Русский язык
- Алгебра
- Английский язык
- Литература
- Физика
- Химия
- История
- Геометрия
- Биология
- География
- Другие предметы
- Қазақ тiлi
- Информатика
- Українська мова
- Обществознание
- Окружающий мир
- Українська література
- Музыка
- Немецкий язык
- Экономика
- Право
- Беларуская мова
- ОБЖ
- Французский язык
- Психология
- Технология
- Физкультура и спорт
- МХК
- Астрономия
- Кыргыз тили
- Оʻzbek tili
- Черчение
- Уход за собой
C++!! Левый и правый двоичный поиск
Дано два списка чисел, числа в первом списке упорядочены по неубыванию. Для каждого числа из второго списка определите номер первого и последнего появления этого числа в первом списке. В данной задаче можно пользоваться встроенными функциями.
Входные данные
В первой строке входных данных записаны два числа N и M (1≤N,M≤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