Олимпиадная информатика-1. Занятие 2. Бинарный поиск. Часть 1. Нахождение элемента в упорядоченном списке
Задача A. Двоичный поиск
Реализуйте алгоритм бинарного поиска.
В первой строке входных данных содержатся натуральные числа N
K
100000
Требуется для каждого из K чисел вывести в отдельную строку "YES", если это число встречается в первом массиве, и "NO" в противном случае.
10 5 1 2 3 4 5 6 7 8 9 10 -2 0 4 9 12
NO NO YES YES NO
Задача B. Приближенный двоичный поиск
Реализуйте алгоритм приближенного бинарного поиска.
В первой строке входных данных содержатся числа N
K
100001
109
Для каждого из
5 5 1 3 5 7 9 2 4 8 1 6
1 3 7 1 5
Задача C. Мутанты
Уже долгое время в Институте Искусств, Мутантов и Информационных Технологий разводят милых разноцветных зверюшек. Для удобства каждый цвет обозначен своим номером, всего цветов не более
В первой строке входного файла содержится единственное число N
105
M
100000
Выходной файл должен содержать
10 1 1 3 3 5 7 9 18 18 57 5 57 3 9 1 179
1 2 1 2 0
Задача D. Левый и правый двоичный поиск
Дано два списка чисел, числа в первом списке упорядочены по неубыванию. Для каждого числа из второго списка определите номер первого и последнего появления этого числа в первом списке.
В первой строке входных данных записано два числа N
M
20000
Программа должна вывести
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