만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

메트로 2345

시간 제한1초메모리 제한512 MB

요약
세 개의 지하철 노선이 세 환승역에서 만날 때, 노선별 이동 시간과 환승 비용이 주어지면 두 역 사이의 최소 이동 시간을 구한다.
난이도

보통10점 중 4점

유형
최단 경로, 그래프, 수학, 구현
정답자
아직 제출이 없습니다

문제

케코폴리스에는 세 개의 지하철 노선이 있고, 이들은 도심 근처에서 교차하며 인접한 역들 사이에 세 개의 터널로 이루어진 삼각형을 만든다. 첫 번째 노선에는 xx개의 역, 두 번째 노선에는 yy개의 역, 세 번째 노선에는 zz개의 역이 있다. 각 노선의 역은 11부터 차례로 번호가 매겨진다.

노선이 교차하는 역에서는 승객이 노선을 갈아탈 수 있다. 첫 번째 노선의 aa번 역과 두 번째 노선의 b+1b+1번 역, 첫 번째 노선의 a+1a+1번 역과 세 번째 노선의 cc번 역, 두 번째 노선의 bb번 역과 세 번째 노선의 c+1c+1번 역 사이에서 갈아탈 수 있다.

노선마다 열차 속도가 다르다. 첫 번째 노선의 열차는 인접한 역 사이를 t1t_1초에, 두 번째 노선의 열차는 t2t_2초에, 세 번째 노선의 열차는 t3t_3초에 이동한다. 노선을 갈아타는 데는 dd초가 걸린다. 역이나 열차에 들어가고 나오는 시간, 역에 정차하는 시간은 무시한다.

디마는 케코폴리스 프로그래밍 대회에 가야 한다. 그는 kk번째 노선의 ii번 역 근처에 있는 집에서 출발해 ll번째 노선의 jj번 역 근처에 있는 케코폴리스 대학교에 도착해야 한다. 디마는 늘 그렇듯 늦잠을 자서 지각하게 생겼다. 디마는 목적지에 최대한 빨리 도착하고 싶어 한다.

디마가 집에서 대학교까지 가는 데 필요한 최소 시간을 구하라. 디마는 환승역에서 지하철에 들어가거나 나오지 않는다.

입력

첫째 줄에 세 정수 xx, yy, zz가 주어진다 (2≤x,y,z≤1092 \le x, y, z \le 10^9).

둘째 줄에 세 정수 aa, bb, cc가 주어진다 (1≤a<x1 \le a < x, 1≤b<y1 \le b < y, 1≤c<z1 \le c < z).

셋째 줄에 네 정수 t1t_1, t2t_2, t3t_3, dd가 주어진다 (1≤t1,t2,t3,d≤1091 \le t_1, t_2, t_3, d \le 10^9).

넷째 줄에 네 정수 kk, ii, ll, jj가 주어진다 (1≤k,l≤31 \le k, l \le 3, kk번째 노선에 ii번 역이 있고 ll번째 노선에 jj번 역이 있음이 보장된다. 출발역과 도착역은 서로 다르며, 특히 같은 환승역의 두 역이 아니다).

출력

출발역에서 도착역까지 이동하는 데 필요한 최소 시간을 나타내는 정수 하나를 출력한다.

예제3

  1. 예제 1

    입력
    4 4 4
    2 2 2
    1 1 1 1
    1 1 2 1
    
    예상 출력
    4
    
  2. 예제 2

    입력
    4 4 4
    2 2 2
    1 10 1 1
    1 1 3 4
    
    예상 출력
    5
    
  3. 예제 3

    입력
    4 4 4
    2 2 2
    1 1 1 1
    1 1 1 4
    
    예상 출력
    3