좌석 배정
시간 제한1초메모리 제한128 MB
빈 좌석 p개가 연속된 가장 낮은 위치에 손님을 앉히고 구간 퇴장을 처리하면서, 자리 못 잡은 일행 수를 센다.
문제
소들이 용돈을 벌기 위해 헛간에서 밀크셰이크 전문 식당을 열었습니다. 식당에는 한 줄로 놓인 좌석 개가 있으며(), 하루가 시작될 때 모두 비어 있습니다.
하루 동안 식당에서는 개의 사건이 순서대로 일어납니다(). 각 사건은 다음 두 종류 중 하나입니다.
- 크기가 인 손님 무리가 도착합니다(). 베시는 이 무리 전체를 연속된 빈 좌석 개로 이루어진 구간에 앉히려고 합니다. 가능하다면 그렇게 배정할 수 있는 번호가 가장 작은 위치에 앉힙니다. 불가능하다면 그 무리는 돌려보냅니다.
- 구간 가 주어지며(), 그 범위의 좌석에 앉아 있던 손님이 모두 떠납니다(해당 좌석이 모두 비워집니다).
하루 동안 돌려보낸 무리의 수를 세어 출력하세요.
입력
- 첫째 줄: 공백으로 구분된 두 정수 과 .
- 다음 개의 줄: 각 줄은 하나의 사건을 나타냅니다.
A p는 크기가 인 무리가 도착했다는 뜻이고,L a b는 좌석 구간 의 손님이 모두 떠난다는 뜻입니다.
출력
- 첫째 줄: 돌려보낸 무리의 수.
노트
다음은 첫 번째 예제에 대한 설명입니다. 좌석은 10개, 사건은 4개입니다. 먼저 크기 6인 무리가 도착해 좌석 1–6에 앉습니다. 이어서 좌석 2–4의 손님이 모두 떠납니다. 그다음 크기 5인 무리가 도착하지만, 연속된 빈 좌석 5개를 만들 수 없어 돌려보냅니다. 마지막으로 크기 2인 무리가 도착해 비어 있는 좌석 2–3에 앉습니다. 따라서 돌려보낸 무리는 세 번째 무리 하나뿐입니다.