Задача D. Set

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Необходимо реализовать Set — класс, в котором реализованы основные операции над множествами:

Set Union(const Set&) const,

Set Intersection(const Set&) const,

Set Difference(const Set&) const,

Set SymmetricDifference(const Set&) const.

Также необходимо реализовать конструктор Set(const std::vector&) и функции добавления, удаления и проверки наличия элемента во множестве:

void Add(int64_t),

void Remove(int64_t), bool Contains(int64_t) const.

Для доступа ко всем элементам множества реализовать функцию std::vector Data() const.

Предполагается, что класс будет использован для хранения целых чисел типа int64_t. Для хранения элементов следует использовать std::vector с соответствующим параметром шаблона.

Материалы задачи

main.cpp

task.xml

Формат выходных данных

Файл с решением должен содержать только реализацию описанного класса, без функции main.


0.087s 0.015s 19