집으로 가는 길
시간 제한1초메모리 제한1024 MB
도시마다 공연 수입이 정해져 있을 때, 초기 자금 p로 도시 1에서 도시 n까지 가는 데 필요한 최소 공연 횟수를 구합니다.
문제
유명한 마술사 보리 부디는 개의 도시로 이루어진 나라 를 여행하고 있었다. 그런데 불행하게도 1번 도시에서 강도를 당했다. 이제 그는 번 도시에 있는 집까지 먼 길을 가야 한다.
그는 비행기로 이동한다. 나라에는 개의 항공편이 있다. 번째 항공편은 번 도시에서 번 도시로 가며, 요금은 이다. 항공편을 타려면 부디가 번 도시에 있어야 하고, 손에 최소 의 돈이 있어야 한다. 이 돈은 항공권 값으로 쓰인다.
강도를 당한 뒤 그에게는 루블만 남았다. 그래도 그는 포기하지 않는다. 번 도시에 있는 동안 그는 매일 공연을 할 수 있고, 공연 한 번마다 루블을 번다.
마술사가 집에 갈 수 있는지, 갈 수 있다면 그러기 위해 필요한 공연 횟수의 최솟값이 얼마인지 알아내도록 도와주자.
입력
첫 줄에 네 정수 , , , (, , , )가 주어진다. 각각 도시의 수, 항공편의 수, 처음 가진 돈, 테스트 그룹 번호이다.
둘째 줄에는 개의 정수 ()이 주어진다. 각 도시에서 공연 한 번으로 얻는 수익이다.
다음 개의 줄에는 각각 세 정수 , , (, )가 주어진다. 이는 번째 항공편의 출발 도시, 도착 도시, 요금이다.
출력
부디가 집에 도착하기 위해 필요한 공연 횟수의 최솟값을 정수 하나로 출력한다. 도착할 수 없으면 을 출력한다.
힌트
첫 번째 예제에서 최적의 방법은 1번 도시에서 공연을 4번 하는 것이다. 그러면 부디가 가진 돈은 루블이 된다. 그 뒤 경로 로 날아가면서 루블을 쓴다.
두 번째 예제에서 최적의 방법은 1번 도시에서 공연을 15번 한 뒤 3번 도시로 날아가서 거기서 공연을 9번 하고, 이어서 4번 도시로 가는 것이다.