Плюсануть
Поделиться
Класснуть
Запинить


Олимпиадный тренинг

Вы можете самостоятельно решать эти задачи столько раз, сколько вам это понадобится.
   

Задача №1.

Standard Template Library

Дано число N (1 <= N <= 100000) – кол-во запросов. В следующих N строках содержится символ ‘+’ или ‘-’ и число a (1 <= a <= 1000000000). Если символ – ‘+’, то число a добавляется в множество, иначе – удаляются все значения a, которые были добавлены ранее. Гарантируется, что при удалении числа, оно содержится в множестве.

Требуется вывести все уникальные элементы (по возрастанию) в множестве после выполнения всех запросов или «-1», если в множестве нет элементов.

Ввод Вывод
3
+ 1
+ 2
- 1
2
3
+ 1
+ 1
- 1
 
-1
3
+ 1
+ 1
+ 1
1

(с) Шалдин В., 2018

Запросы в массив

Standard Template Library

Вам нужно реализовать структуру данных на базе массива, которая сможет отвечать на данные типы запросов:

0 - вывести размер массива и знак перехода на новую строку
1 x - добавить в конец массива число x
2 - удалить последний элемент массива
3 x y - вставить число y между элементами массива x и x + 1
4 x - удалить элемент №x
5 - выведите все элементы массива в порядке их следования в нем через пробел. В конце выведите знак перехода на новую строку
6 x - изменить размер массива на x. Если x меньше текущего размера массива, то все элементы, начиная с элемента №x отбрасываются. Если x больше текущего размера массива, то появившиеся элементы массива будут равны 0
 
Входные данные:
В первой строке содержится число N (1 <= n <= 100)
В следующих N строках содержатся запросы в формате, записанном в условии
 
Выходные данные:
Выведите ответы на запросы типа 0 и 5

Ввод Вывод
9
0
1 5
2
0
1 0
1 3
2
1 1
5
0
0
0 1 
 


(с) Григорьев Е, 2018