충전하기
면접 대비시간 제한2초메모리 제한1024 MB
각 연결 요청은 i 이상인 빈 포트 중 가장 작은 번호를 차지하고, 각 해제 질의는 그 포트를 채운 행동의 번호를 출력합니다.
문제
동우는 다양한 전자기기를 사용한다. 기기마다 충전기를 따로 들고 다니는 것이 번거로워서, 동우는 개의 포트가 있는 멀티 포트 충전기를 장만했다. 이 충전기는 특이하게도 포트마다 출력하는 전력이 다르다. 번 포트는 만큼의 전력을 출력한다.
동우는 총 번의 행동으로 기기를 충전기에 꽂거나 뽑는다. 행동은 두 종류이며, 다음 형식의 입력으로 주어진다.
1: 최소 전력이 인 전자기기를 번 포트에 꽂는다. 번 포트에 이미 기기가 꽂혀 있다면, 비어 있는 포트 중 전력이 이상이면서 가장 작은 포트에 기기를 꽂는다. 비어 있는 포트의 전력이 모두 미만이라면 기기를 꽂지 않는다.2: 번 포트에 기기가 꽂혀 있다면 기기를 뽑는다.
입력
첫 번째 줄에 포트의 수 ()과 행동의 수 ()가 주어진다. 두 번째 줄부터 개의 줄에 행동의 종류 ()와 정수 ()가 공백으로 구분되어 주어진다.
출력
각 행동의 결과를 한 줄에 하나씩 출력한다.
1번 행동은 기기를 꽂았다면 포트 번호를, 꽂지 않았다면 -1을 출력한다.
2번 행동은 기기가 꽂혀 있었다면 그 기기를 꽂은 행동의 번호를, 꽂혀 있지 않았다면 -1을 출력한다. 행동의 번호는 1번과 2번 행동을 합쳐서 1부터 센다.