부품 대여장
면접 대비시간 제한1초메모리 제한512 MB
시간순으로 주어진 대여와 반납 기록을 사람과 부품별로 짝지어 허용 기간을 넘긴 대여의 벌금을 합산하고, 벌금을 내야 하는 닉네임을 사전순으로 출력한다.
문제
송훈이는 로봇 동아리 회원이다. 로봇 동아리에서 필요한 부품이 있으면 자유롭게 빌려서 쓰고 다시 돌려놓으면 된다.
그런데 부품 정리를 하다 보니 부품 관리가 너무 힘들어져 새로운 시스템을 도입하려고 한다.
부품을 빌려갈 때는 부품 대여장에 정보를 반드시 적어야 한다. 빌려간 부품을 반납할 때도 부품 대여장에 정보를 적어야 한다.
또한 대여기간을 정하고, 대여기간을 넘기면 1분당 벌금을 부과하는 시스템이다.
대여기간이 5분이고 1분당 벌금이 5원일 때, 대여한 시각이 2021년 1월 1일 1시 5분이라면 2021년 1월 1일 1시 10분까지 반납해야 한다.
2021년 1월 1일 1시 14분에 반납했다면 4분 늦었으므로 벌금 20원을 내야 한다.
부품 대여장에 적는 형식은 아래와 같다.
yyyy-MM-dd hh:mm [부품 이름] [동아리 회원 닉네임]
아래는 예시를 위해 부품 대여장에 적힌 정보이다. 대여기간이 5분이고 벌금이 1원이라고 하자.
2021-01-01 09:12 arduino tony9402
2021-01-01 09:13 monitor chansol
2021-01-01 09:18 arduino tony9402
2021-01-01 09:18 monitor chansol
위 정보를 정리하면 아래와 같다.
tony9402가 2021년 1월 1일 오전 9시 12분에 arduino를 빌렸다.
chansol이 2021년 1월 1일 오전 9시 13분에 monitor를 빌렸다.
tony9402가 2021년 1월 1일 오전 9시 18분에 arduino를 반납했다.
chansol이 2021년 1월 1일 오전 9시 18분에 monitor를 반납했다.
tony9402는 1분 늦게 반납했으므로 벌금 1원을 내야 한다.
부품을 대여할 때 지켜야 하는 조건이 있다.
- 한 사람이 같은 종류의 부품을 두 개 이상 대여하고 있는 상태일 수 없다.
- 한 사람이 같은 시각에 서로 다른 종류의 부품을 대여하는 것은 가능하다.
- 같은 사람이라도 대여 기간은 부품마다 별도로 적용된다.
입력
첫 번째 줄에 부품 대여장에 적힌 정보의 개수 , 대여기간 , 벌금 가 공백으로 구분되어 주어진다.
대여기간 형식은 DDD/hh:mm이고 DDD는 일, hh는 시간, mm은 분을 의미한다. (000/00:00은 주어지지 않는다.)
두 번째 줄부터 번째 줄까지 시간순으로 부품 대여장에 적힌 정보(시각, 부품 이름 , 회원 닉네임 )가 공백으로 구분되어 주어진다.
시각의 형식은 yyyy-MM-dd hh:mm이고 yyyy는 연도, MM은 월, dd는 일, hh는 시간, mm은 분을 의미한다. 이 문제에서 들어오는 연도는 항상 2021년이다.
부품 이름 는 알파벳 소문자로만 이루어져 있다. 즉, 부품 이름에 공백이 없다.
회원 닉네임 은 알파벳 소문자와 숫자 ~ 로만 이루어져 있다. 즉, 회원 닉네임에 공백이 없다.
출력
벌금을 내야 하는 사람들의 동아리 회원 닉네임 과 내야 하는 벌금을 사전순으로 한 줄씩 출력한다.
벌금을 내야 하는 사람이 없으면 -1을 출력한다.
제한
- , 은 짝수
- 부품을 반납하지 않은 사람은 없다.