장난감 정리 로봇
시간 제한5초메모리 제한64 MB
무게 제한이 있는 로봇과 크기 제한이 있는 로봇으로 모든 장난감을 치울 수 있는지 판단하고 최단 시간을 구합니다.
문제
마리타의 남동생이 거실 바닥에 장난감을 온통 어질러 놓았다. 다행히 마리타는 장난감을 치우는 특별한 로봇들을 만들어 두었고, 어떤 로봇이 어떤 장난감을 집을지 정하는 일을 당신에게 부탁했다.
장난감은 모두 개이며, 번 장난감은 정수 무게 와 정수 크기 를 가진다. 로봇은 연약한 로봇과 작은 로봇 두 종류가 있다.
- 연약한 로봇은 모두 개다. 번 연약한 로봇에는 무게 제한 가 있어, 무게가 보다 작은(즉 미만인) 장난감만 옮길 수 있다. 크기는 상관없다.
- 작은 로봇은 모두 개다. 번 작은 로봇에는 크기 제한 가 있어, 크기가 보다 작은(즉 미만인) 장난감만 옮길 수 있다. 무게는 상관없다.
로봇 하나가 장난감 하나를 치우는 데 1분이 걸린다. 여러 로봇은 서로 다른 장난감을 동시에 치울 수 있고, 한 로봇은 여러 개의 장난감을 1분에 하나씩 차례로 치울 수 있다.
모든 장난감을 치울 수 있는지 판단하고, 가능하다면 모든 장난감을 치우는 데 걸리는 가장 짧은 시간(분)을 구하라.
입력
첫째 줄에 연약한 로봇의 수 , 작은 로봇의 수 , 장난감의 수 가 공백으로 구분되어 주어진다.
둘째 줄에 연약한 로봇 개의 무게 제한 이 공백으로 구분되어 주어진다. 이면 이 줄은 비어 있다.
셋째 줄에 작은 로봇 개의 크기 제한 이 공백으로 구분되어 주어진다. 이면 이 줄은 비어 있다.
이어지는 개의 줄에 각 장난감의 무게 와 크기 가 한 줄에 하나씩 주어진다.
출력
모든 장난감을 치우는 데 걸리는 가장 짧은 시간(분)을 한 줄에 출력한다. 모든 장난감을 치우는 것이 불가능하면 을 출력한다.
제한
- ,
- 또는 이면, 해당하는 줄(둘째 또는 셋째 줄)은 비어 있다.