시간 제한5초메모리 제한1024 MB
S에서 T로 가는 어떤 최단 경로 위에 함께 놓이는 서로 다른 두 정점 i, j에 대해 A_i + A_j의 최솟값을 구한다.
문제
번부터 번 정점까지 총 개의 정점과 개의 가중치가 있는 단방향 간선으로 이루어진 그래프가 주어진다. 다음 조건을 만족하는 정수 쌍 중에서 의 최솟값을 구해보자.
- 에서 출발하고 에 도착하는 최단 경로 중에서, 번 정점과 번 정점을 동시에 지나는 경우가 존재한다.
에서 출발하고 에 도달하는 최단 경로는 하나가 아닐 수도 있음에 유의하자. 심지어 존재하지 않을 수도 있다.
최단 경로가 존재하지 않거나 조건을 만족하는 정수 쌍 가 존재하지 않는 경우에는 -1을 출력하자.
입력
첫째 줄에 정점의 개수를 나타내는 정수 과 간선의 개수를 나타내는 정수 이 공백을 사이에 두고 주어진다.
둘째 줄에 정수로 이루어진 수열 이 공백을 사이에 두고 주어진다.
셋째 줄에 출발 정점의 번호 와 도착 정점의 번호 가 공백을 사이에 두고 주어진다.
넷째 줄부터 개의 줄에 걸쳐 간선을 나타내는 세 정수 , , 가 공백을 사이에 두고 주어진다.
이는 번 정점에서 출발해 번 정점에 도달하는 거리 의 단방향 간선을 의미한다.
출력
최단 경로가 존재하지 않거나 조건을 만족하는 정수 쌍 가 존재하지 않는다면 첫째 줄에 -1을 출력한다.
존재한다면, 첫째 줄에 정답을 출력한다.