Контест Middle Алгоритмы STL и ranges обновлено

Операции над отсортированными мультимножествами

Условие

Даны два отсортированных по неубыванию списка (значения могут повторяться, это мультимножества). Выведите четыре строки: пересечение, объединение, A \ B и B \ A в смысле мультимножеств (повторы учитываются: если в A три пятёрки, а в B одна, в пересечение попадёт одна, в объединение три, в разность две).

Формат строки: имя (intersection, union, a_minus_b, b_minus_a), количество элементов и сами элементы по возрастанию через пробел.

Ввод: n (0 ≤ n ≤ 1000), строка списка A (может быть пустой), m (0 ≤ m ≤ 1000), строка списка B. Значения от 0 до 10⁶.

Вывод: четыре строки.

Пример 1

Ввод:

5
1 2 5 5 5
4
2 3 5 9

Вывод:

intersection 2 2 5
union 7 1 2 3 5 5 5 9
a_minus_b 3 1 5 5
b_minus_a 2 3 9

Пример 2

Ввод:

0

2
1 1

Вывод:

intersection 0
union 2 1 1
a_minus_b 0
b_minus_a 2 1 1

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.