В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
nikabagirovap0dq1g
nikabagirovap0dq1g
19.08.2021 06:32 •  Информатика

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

Можно этот код переделать в С++!
s1 = input()
s2 = input()
s3 = input()
A = set(map(int, s2.split()))
B = list(map(int, s3.split()))
for b in B:
if b in A:
print('YES')
else:
print('NO')
Только чтоб работал!

Показать ответ
Ответ:
rita145roden
rita145roden
30.07.2021 10:00

есть библиотечные функции upper_bound и lower_bound, достаточно их вызвать и всё

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота