사탕 상자
시간 제한2초메모리 제한128 MB
사탕의 개수를 추가하거나 제거하면서 k번째로 맛있는(작은 번호) 사탕을 찾아 제거하는 연산을 팬윅 트리 이분 탐색으로 처리합니다.
문제
수정이는 어린 동생을 달래려고 여러 맛의 사탕을 사탕 상자에 모아 둔다.
각 사탕의 맛은 1부터 1,000,000까지의 정수로 표현된다. 숫자가 작을수록 더 맛있는 사탕이며, 1은 가장 맛있는 사탕, 1,000,000은 가장 맛없는 사탕을 뜻한다.
동생이 말을 잘 들으면 수정이는 상자 안의 사탕 중에서 정해진 순위의 사탕을 하나 꺼내 준다. 예를 들어 가장 잘 들었을 때는 1번째로 맛있는 사탕을, 조금 잘 들었을 때는 6번째로 맛있는 사탕을 꺼내 줄 수 있다.
상자에 들어 있는 사탕이 매우 많기 때문에 매번 직접 찾아내기는 어렵다. 주어진 작업들을 처리하면서 꺼낸 사탕의 맛 번호를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 수정이가 사탕 상자에 손을 댄 횟수 n이 주어진다. (1 <= n <= 100,000)
다음 n개의 줄에는 작업이 한 줄에 하나씩 주어진다.
A = 1이면 사탕을 하나 꺼내는 작업이다. 이 줄에는 두 정수A B가 주어지며,B는 꺼낼 사탕의 맛 순위이다. 이 작업을 수행하면 해당 사탕 한 개가 상자에서 제거된다.A = 2이면 사탕의 개수를 바꾸는 작업이다. 이 줄에는 세 정수A B C가 주어지며,B는 사탕의 맛 번호이고C는 변화량이다.C가 양수이면 그 맛의 사탕을 넣고, 음수이면 그 맛의 사탕을 뺀다.
처음 사탕 상자는 비어 있다. 모든 시점에서 상자 안 사탕의 총개수는 2,000,000,000을 넘지 않는다. 존재하지 않는 사탕을 꺼내거나 빼는 잘못된 입력은 주어지지 않는다.
출력
A = 1인 모든 작업에 대해, 꺼낸 사탕의 맛 번호를 한 줄에 하나씩 출력한다.