사과 배달
시간 제한1초메모리 제한128 MB
가중 무방향 그래프에서 시작 노드로부터 두 지정 노드를 어느 순서로든 방문하고 돌아오는 최단 경로의 길이를 구한다.
문제
베시(Bessie)는 잘 익은 빨간 사과 두 개를 무리에 있는 두 친구에게 배달하려고 합니다.
목장(pasture)은 번부터 번까지 번호가 매겨져 있으며 (), 이 목장들은 개의 양방향 소길(cowpath)로 연결되어 있습니다 (). 각 소길은 서로 다른 두 목장 와 를 잇고, 길이 를 가집니다. 한 목장에서 자기 자신으로 이어지는 소길은 없습니다. 모든 소길 길이의 합 는 을 넘지 않습니다. 또한 임의의 목장에서 다른 임의의 목장으로 항상 이동할 수 있습니다.
베시는 목장 에서 출발하여, 서로 다른 두 목장 과 를 어떤 순서로든 모두 방문하여 사과 두 개를 배달해야 합니다. 세 목장 , , 는 모두 서로 다릅니다. 이동 중에는 이미 지난 목장이나 소길을 다시 지나갈 수 있으며, 이동 거리는 지나간 모든 소길의 길이를 더한 값입니다.
베시가 사과 두 개를 모두 배달하기 위해 이동해야 하는 최소 총 거리를 구하세요.
아래는 대괄호로 표시한 목장 번호와 각 소길 및 그 길이를 나타낸 지도의 예시입니다.
3 2 2
[1]-----[2]------[3]-----[4]
\ / \ /
7\ /4 \3 /2
\ / \ /
[5]-----[6]------[7]
1 2
입력
첫째 줄에 공백으로 구분된 다섯 정수 , , , , 가 주어집니다.
이어지는 개의 줄 중 번째 줄에는 소길 가 잇는 두 목장과 그 길이를 나타내는 세 정수 , , 가 주어집니다.
출력
베시가 사과 두 개를 모두 배달하기 위해 이동해야 하는 최소 총 거리를 한 줄에 출력합니다.