대기 시간 예측
면접 대비시간 제한2초메모리 제한512 MB
시간 순서대로 주어지는 유니사이클 반납과 대여 요청 기록이 있을 때, 시작 시 보유 대수를 여러 값으로 바꿔 가며 모든 요청자의 총 대기 시간을 구하고, 끝까지 기다리는 사람이 있으면 무한대를 출력한다.
문제
애덤 이스트 시장은 하셸 시의 대중교통망을 개선하려고 외발자전거를 빌려주는 대여소를 세운다. 전용 카드를 가진 사람은 누구나 대여소에 와서 외발자전거를 요청하거나 반납할 수 있다.
요청 절차는 간단하다. 요청하는 사람은 대기열에 들어간다. 남아 있는 외발자전거가 있으면 대기열 맨 앞 사람이 즉시 한 대를 가져간다. 남아 있는 외발자전거가 없으면 대기열에 선 사람들은 누군가 그 대여소에 외발자전거를 반납할 때까지 기다린다.
한 사람의 대기 시간은 요청한 순간, 즉 대기열에 들어간 순간부터 외발자전거를 받은 순간까지 걸린 시간이다. 끝내 외발자전거를 받지 못한 사람의 대기 시간은 무한이다. 총 대기 시간은 모든 사람의 대기 시간을 더한 값이다.
애덤은 하루치 일정을 이미 전부 알고 있다. 중앙 대여소에서 사람들이 몇 시에 외발자전거를 요청하고 몇 시에 반납하는지 안다. 중앙 대여소는 외발자전거를 몇 대든 동시에 보관한다. 모르는 것은 하루를 시작할 때 그곳에 외발자전거를 몇 대 두어야 하는지뿐이다. 그래서 애덤은 시작 대수를 여러 개 제시하며 각각의 총 대기 시간을 묻는다.
마지막 연산 이후에는 아무 일도 일어나지 않는다. 마지막 연산까지 처리한 뒤에도 대기열에 사람이 남아 있으면 그 사람들은 외발자전거를 받지 못하고, 총 대기 시간은 무한이다.
입력
첫 줄에 과 가 주어진다 (). 은 중앙 대여소에서 일어나는 외발자전거 요청과 반납 연산의 총 개수이고, 는 애덤이 묻는 질문의 개수다.
다음 개의 줄에 중앙 대여소의 연산이 한 줄에 하나씩 주어진다.
+ t k: 시각 에 외발자전거 대를 반납한다.- t k: 시각 에 명이 외발자전거를 요청한다.
모든 연산에서 , 이다. 연산은 시각이 증가하는 순서로 주어지고, 두 연산의 시각은 서로 다르다.
마지막 줄에 서로 다른 정수 가 주어진다 (). 는 하루를 시작할 때 중앙 대여소에 두는 외발자전거 대수다.
출력
개의 줄을 출력한다. 번째 줄에는 외발자전거 대로 하루를 시작했을 때의 총 대기 시간을 출력한다. 총 대기 시간이 무한이면 그 줄에 INFINITY를 출력한다.