2차원 점과 쿼리
- 시간
- 2000ms
- 메모리
- 1536MB
문제
2차원 평면 위에 정수점들의 중복집합(multiset)인 와 가 있다.
두 중복집합 가 주어졌을 때, 다음의 값 를 생각할 수 있다.
처음에 와 는 모두 비어 있다. 편의상 또는 가 비어 있는 경우 값은 로 정의하도록 하자. 이제 쿼리를 통해 와 에 정수점이 자유롭게 추가되거나 제거된다. 변화가 일어날 때 마다 를 계산하는 프로그램을 작성하도록 하자.
중복집합에 점을 추가하는 쿼리는 1 s x y 와 같이 주어진다. 인 경우에는 에, 인 경우에는 에 점 를 추가하라는 의미이다.
중복집합에 점을 제거하는 쿼리는 2 s x y 와 같이 주어진다. 인 경우에는 에서, 인 경우에는 에서 점 를 제거하라는 의미이다.
와 는 각각 중복집합이므로, 점이 추가될 때 이미 존재하는 점이 추가될 수도 있다.
와 에서 점을 제거할 때 이미 동일한 좌표를 가지는 점이 여러 개 존재하는 경우, 그 중 하나만 없애는 것으로 처리한다. 존재하지 않는 점을 제거하는 쿼리는 주어지지 않는다.
입력
입력의 첫 줄에 쿼리의 개수를 나타내는 가 주어진다.
이후 개의 줄에 걸쳐 쿼리를 나타내는 정수 r s x y가 주어진다.
출력
개 줄에 각 쿼리를 실행한 직후의 값을 출력한다.
두 집합 중 하나라도 비어 있는 경우 임에 유의하라.
제한
입력
6
1 1 100 100
1 2 30 130
1 1 120 170
2 1 100 100
1 2 70 100
2 1 120 170
출력
-1
230
230
300
270
-1
출처
-
문제를 만든 사람: Diuven, leesongun
-
문제를 검수한 사람: jhnah917, jhwest2