명백하고 임박한 위험
면접 대비시간 제한1초메모리 제한128 MB
위험도 행렬과 반드시 방문해야 하는 섬의 순서가 주어질 때, 그 순서를 지키면서 다른 섬을 거쳐도 되는 최소 위험도 경로의 총합을 구한다.
문제
농부 존(Farmer John)은 바다에 있는 개의 섬 중 한 곳에 잠들어 있다는 전설의 보물을 찾아 배를 타고 항해하고 있습니다. 섬에는 부터 까지 번호가 매겨져 있습니다 ().
보물 지도에 따르면, 보물이 나타나게 하려면 지정된 순서대로 개의 섬으로 이루어진 수열 ()을 따라 이동해야 합니다. 이 경로는 섬 에서 시작하여 섬 에서 끝납니다 (즉, , ). 존은 중간에 다른 섬을 들르거나 같은 섬을 여러 번 방문해도 되지만, 지도가 요구하는 방문은 반드시 이 순서대로 이루어져야 합니다.
존은 해적을 피하고자 하며, 모든 섬 쌍 사이의 해적 위험도 ()를 알고 있습니다. 한 경로의 총 위험도는 그가 지나간 모든 구간의 위험도의 합입니다.
지도의 요구 사항을 만족하면서 보물에 도달하는, 가장 안전한(위험도가 최소인) 경로의 총 위험도를 구하세요.
입력
- 첫째 줄: 공백으로 구분된 두 정수 과 .
- 다음 개 줄: 번째 줄에는 존이 방문해야 하는 번째 섬 가 하나의 정수로 주어집니다 (, ).
- 그다음 개 줄: 번째 줄에는 개의 정수가 주어지며, 그중 번째 정수는 섬 와 섬 사이 경로의 위험도입니다. 각 줄의 번째 정수는 항상 입니다.
출력
- 한 줄에 정수 하나: 보물을 얻기 위해 존이 마주쳐야 하는 최소 총 위험도.
힌트
연속한 두 필수 방문 섬 사이를 반드시 직접 이동할 필요는 없습니다. 다른 섬을 경유하면 더 안전할 수 있습니다. 예를 들어 섬 과 섬 사이를 직접 이동하면 위험도가 이지만, 로 가면 뿐입니다. 따라서 연속한 각 필수 방문 쌍(, , ) 사이에서 가장 안전한 경로를 사용하면 총 위험도는 이 됩니다.