문제
두비두 마을의 두호는 두부 장수이다.
장인 정신으로 한 모씩 두부를 생산하며, 두부의 상태에 따라 가치(int범위)를 매긴다.
아래 명령에 따라 두부가 생산, 폐기, 판매된다.
1 worth
- 가치가 worth인 두부를 한모 생산한다.
- 가치가 worth인 두부의 개수를 출력한다.
2 worth
- 가치가 worth인 두부를 한모 폐기한다.
- 가치가 worth인 두부의 개수를 출력한다.
- 폐기할 두부가 존재하지 않았다면 -1만 출력한다.
3 flag
- flag=0, 가치가 가장 낮은 두부를 한모 판매한다.
- flag=1, 가치가 가장 높은 두부를 한모 판매한다.
- 판매한 두부의 가치와 그 가치의 남은 두부의 개수를 출력한다.
- 판매할 두부가 없는 경우는 존재하지 않는다.
입력
첫 줄에 쿼리 수 Q가 주어진다.
둘째 줄부터 Q개의 줄에 걸쳐 문제에 명시된 형태로 명령이 주어진다.
Q : 10 ~ 200,000
명령 번호 : 1~3
worth : int범위
flag : 0~1
출력
Q개의 줄에 걸쳐 각 명령에서 요구하는 값을 출력한다.
1,2 번 명령은 정수 한 개,
3번 명령은 정수 두 개를 한 칸 띄고 출력한다.
예제
12
1 100
1 200
1 100
3 0
1 200
1 300
3 0
3 0
3 1
1 100
2 300
2 200
1
1
2
100 1
2
1
100 0
200 1
300 0
1
-1
0
출처
teriusu