Задача №2799. Два массива
Разбор добавил Дмитрий Молчанов
Эту задачу можно решать двумя способами - за О(n*m) и за О(m*log m + n*log m). Хотя ограничения в данной задаче невелики и первый способ проходит на ура, лучше все-таки знать и уметь писать оба. Итак, первый способ: Этот способ очевиден и приходит на ум сразу после прочтения условия. Для каждого элемента первого массива линейным поиском проверяем, содержится ли он во втором массиве, и, если нет, то выводим его. Второй способ заключается в оптимизации первого: Сначала отсортируем второй массив за О(m*log m) Теперь мы можем проверять, содержится ли элемент во втором массиве гораздо быстрее, реализуя бинарный поиск за О(log m). Этот способ будет работать значительно быстрее (почти в 10 раз быстрее при n, m = 100 - 1400 операций против 10000 и почти в 3000 раз быстрее при n, m = 100000 - 3.5 млн операций против 10 млрд)
Сдать: для сдачи задач необходимо войти в систему
3733
statement