각 후보 도로에 대해 0번 집에서 출발해 모든 집을 방문하고 새 도로를 끝까지 걸은 뒤 멈추는 최단 거리를 구하고, 모든 후보 중 최솟값을 출력한다.
보통6수학그리디시뮬레이션구현아직 제출이 없습니다시간 제한1초메모리 제한128 MB띵동~
"누구세요?"
"치킨배달 왔습니다."
"음? 치킨을 시킨 적이 없... 으아악!"
주문하지도 않은 치킨을 손님에게 배달해 주는 인호는 굿 점원이다. 인호는 일자로 뻗은 길을 따라 손님들에게 차례로 치킨을 선물한다.
어느 날 치킨을 배달할 집이 하나 늘었다. 인호는 새 손님에게 치킨을 배달하려고 길을 딱 하나만 새로 만들려고 한다. 친구들은 각자 자기가 만들 수 있는 길을 하나씩 알려주었다.

인호는 치킨가게를 0번 집이라 부르고, 가게에서 가까운 집부터 차례로 1번 집, 2번 집, 그렇게 n번 집까지 부른다. j번째 친구가 만드는 길은 Aj번 집과 Bj번 집을 잇고, 길이는 Cj이다. 새 집은 이 길 위에 있다.
인호는 0번 집에서 출발해 1번부터 n번까지 모든 집과 새 집에 치킨을 배달해야 한다. 걷는 규칙은 이렇다.
친구들이 알려준 길 중 하나를 골라 만들 때, 인호가 걷는 거리의 최솟값을 구하라.
첫째 줄에 인호가 원래 배달하던 집의 수 n과 길을 만들어 주는 친구의 수 m이 주어진다.
둘째 줄에 i−1번 집에서 i번 집까지의 거리 Li가 i=1,2,…,n 순서로 주어진다.
셋째 줄부터 m개의 줄에 걸쳐 j번째 친구가 만들 수 있는 길의 정보 Aj Bj Cj가 주어진다. 이 길은 Aj번 집과 Bj번 집을 잇고 길이는 Cj이다. Aj와 Bj는 항상 다르다.
1≤n,m≤10000, 1≤Li≤100, 1≤Aj,Bj≤n, 1≤Cj≤100
새로운 길을 하나 만든 뒤, 인호가 모든 집에 치킨을 배달하려고 걷는 거리의 최솟값을 한 줄에 출력한다.


첫 번째 예제에서 두 번째 길, 즉 3번 집과 6번 집을 잇는 길이 5짜리 길을 만들고 0, 1, 2, 3, 새 집, 6, 5, 4 순서로 이동하면 25만큼 걸어 배달을 마칠 수 있다. 첫 번째 길을 만들면 32를 걸어야 한다.