출석
시간 제한8초메모리 제한128 MB
구간을 추가하거나 삭제할 때마다 현재 목록의 모든 구간이 적어도 하나의 점을 포함하도록 하는 최소 점의 개수를 출력합니다.
문제
야심 찬 대학생이 개설된 거의 모든 과목에 수강 신청을 했다. 안타깝게도 모든 과목은 출석이 필수다. 그는 하루에 여러 번 캠퍼스를 방문한다. 방문할 때마다 그 순간 진행 중인 수업에 모두 들어가 출석부에 서명하고, 다른 일정 때문에 곧바로 캠퍼스를 떠난다. 같은 날 나중에 다시 돌아와 아직 서명하지 않은 수업에 대해 같은 과정을 반복하고, 모든 수업의 출석부에 이름이 오를 때까지 이를 계속한다.
그런데 수업 일정은 계속 바뀐다. 수업이 추가되거나 취소되므로, 학생은 모든 수업의 출석부에 서명할 수 있도록 방문 일정을 계속 조정해야 한다.
일정은 비어 있는 상태에서 시작한다. 수정 사항을 하나씩 읽는다. 각 수정은 수업 하나를 추가하거나 제거한다. 수정할 때마다 현재 일정에 있는 모든 수업의 출석부에 서명하는 데 필요한 최소 방문 횟수를 출력한다.
입력
첫 줄에 수정 횟수 이 주어지고, 이후 개의 줄이 이어진다. 수업 추가는 공백으로 구분된 두 정수 와 로 주어지며, 이는 부터 까지(양 끝 포함) 진행되는 수업을 뜻한다. 수업은 추가된 순서대로 1부터 번호가 붙는다. 음수 는 번호가 인 수업을 제거한다는 뜻이다.
출력
수정할 때마다 현재 일정에 필요한 최소 방문 횟수를 한 줄에 하나씩 출력한다.
제한
- 제거할 수업 번호 는 항상 유효하다. 즉, 그 시점에 일정에 존재한다.
- 메모리 제한에 유의하라.
힌트
처음 추가되는 수업은 이며 번호는 1이다. 다음에 추가되는 수업은 이며 번호는 2이고, 입력 에 의해 곧바로 제거된다. 그다음 추가되는 수업은 이며 번호는 3이고, 이런 식으로 이어진다.