만드는 중입니다

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

세금

시간 제한2초메모리 제한1024 MB

요약
회사별로 k번째 통행에 k배의 세금이 붙는 도로망에서, 도시 1에서 각 도시까지 최단 경로 중 세금이 가장 적은 값을 구합니다.
난이도

어려움10점 중 8점

유형
그래프, 최단 경로, BFS, 동적 계획법
정답자
아직 제출이 없습니다

문제

JB는 최근 운전면허를 땄다. 이를 기념해 JB는 Byteland의 다른 도시들로 차를 몰고 가기로 했다. Byteland에는 nn개의 도시와 mm개의 양방향 도로가 있고, 도시는 1,2,…,n1,2,\dots,n으로 번호가 매겨져 있다. JB는 1번 도시에서 출발하며, 이 mm개의 도로로만 이동할 수 있다. 어떤 도시든 항상 1번 도시에서 도달할 수 있다.

각 도로의 길이는 모두 같지만, 도로마다 관리하는 엔지니어링 회사가 다르다. ii번 도로는 cic_i번 회사가 관리한다. JB가 tt번 회사가 관리하는 도로를 kk번째로 지날 때마다 세금으로 k×wtk\times w_t달러를 낸다.

JB는 목적지 도시를 고른다. 목적지가 kk번 도시라면 JB는 1번 도시에서 kk번 도시까지 최단 경로를 따라 이동한다. 최단 경로가 여러 개면 세금 합이 가장 적은 경로를 택한다. 가능한 목적지마다 JB가 내야 하는 세금의 최솟값을 구하라.

입력

입력은 테스트 케이스 하나로만 주어진다.

첫째 줄에 도시의 수 nn과 도로의 수 mm이 주어진다(2≤n≤502 \leq n\leq 50, n−1≤m≤n(n−1)2n-1\leq m \leq \frac{n(n-1)}{2}).

둘째 줄에는 회사별 기본 세금 w1,w2,…,wmw_1,w_2,\dots,w_m이 주어진다(1≤wi≤10 0001\leq w_i\leq 10\,000).

이어서 mm개의 줄이 주어진다. ii번째 줄에는 정수 uiu_i, viv_i, cic_i가 주어지며(1≤ui,vi≤n1\leq u_i,v_i\leq n, ui≠viu_i\neq v_i, 1≤ci≤m1\leq c_i\leq m), 이는 uiu_i번 도시와 viv_i번 도시를 잇는 양방향 도로이고 cic_i번 회사가 관리한다는 뜻이다.

두 도시를 잇는 도로는 최대 하나이며, JB는 다른 모든 도시에 항상 도달할 수 있다.

출력

n−1n-1개의 줄을 출력한다. kk번째 줄(1≤k≤n−11\leq k\leq n-1)에는 목적지가 k+1k+1번 도시일 때 JB가 내야 하는 세금의 최솟값을 한 정수로 출력한다.

예제1

  1. 예제 1

    입력
    5 6
    1 8 2 1 3 9
    1 2 1
    2 3 2
    1 4 1
    3 4 6
    3 5 4
    4 5 1
    
    예상 출력
    1
    9
    1
    3