급유 계획
면접 대비시간 제한1초메모리 제한256 MB
정렬된 주유소 위치에 가장 멀리 닿는 정차 규칙을 적용해 최소 급유 지점을 출력하고 닿지 못하면 표시합니다.
문제
존은 인더스 하이웨이를 따라 라왈핀디에서 카라치까지 자동차로 이동한다. 연료를 가득 채운 탱크로 킬로미터를 달릴 수 있고, 출발할 때 탱크는 가득 차 있다. 경로에는 주유소가 개 있으며 각 주유소의 위치는 라왈핀디에서 떨어진 거리로 주어진다.
존이 카라치에 도착하도록 급유할 주유소를 정하라. 멈추는 횟수는 최소여야 한다.
멈추는 횟수가 최소인 계획이 여럿 있을 수 있으므로 다음 규칙으로 하나를 정한다. 현재 위치에서 남은 연료로 도달할 수 있는 주유소 중 가장 먼 곳까지 이동해 탱크를 가득 채우고, 카라치까지 남은 거리가 이하가 될 때까지 이를 반복한다. 이 규칙은 항상 멈추는 횟수가 최소인 계획을 만든다.
입력
첫째 줄에 테스트 케이스의 수 ()이 주어진다.
다음 개 줄에는 각각 라왈핀디에서 카라치까지의 거리 (), 가득 찬 탱크로 달릴 수 있는 거리 (), 주유소의 수 (), 그리고 주유소 개의 위치가 순서대로 주어진다. 위치는 라왈핀디에서 떨어진 거리이며 를 만족한다. 모든 거리는 킬로미터 단위의 정수이다.
출력
각 테스트 케이스마다 한 줄을 출력한다. 줄은 Case #n:으로 시작하고 은 테스트 케이스 번호이다.
존이 카라치에 도착할 수 있으면 콜론 뒤에 급유하는 주유소의 위치를 이동 순서대로 공백으로 구분해 출력한다. 급유가 한 번도 필요하지 않으면 콜론 뒤에는 아무것도 출력하지 않는다.
존이 카라치에 도착할 수 없으면 콜론 뒤에 out of petrol을 출력한다.