C++ Set
C++에는 set이라는 집합 자료구조가 있다.
set은 원소를 중복 없이 저장하고, 저장된 원소들을 오름차순으로 관리한다.
처음에 빈 집합 $S$가 있다. $Q$개의 쿼리를 순서대로 처리하라.
쿼리는 다음 중 하나이다.
insert x: $S$에 정수 $x$를 추가한다. 이미 $x$가 있다면 아무 일도 일어나지 않는다. $(-10^9 \leq x \leq 10^9)$erase x: $S$에서 정수 $x$를 삭제한다. $x$가 없다면 아무 일도 일어나지 않는다. $(-10^9 \leq x \leq 10^9)$count x: $S$에 정수 $x$가 있으면1, 없으면0을 출력한다. $(-10^9 \leq x \leq 10^9)$size: $S$의 크기를 출력한다.
입력
첫 번째 줄에 쿼리의 개수 $Q$가 주어진다. $(1 \leq Q \leq 100\,000)$
두 번째 줄부터 $Q$개의 줄에 걸쳐 쿼리가 하나씩 주어진다.
출력
count, size 쿼리가 주어질 때마다 쿼리의 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
6 insert 1 size insert 1 size erase 1 count 1
예제 출력 1
1 1 0
노트
C++에서 int 값을 저장하는 set은 다음과 같이 선언할 수 있다.
set<int> S;
set을 사용하려면 #include<set>이 필요하다.