atcoder#ABC270F. [ABC270F] Transportation
[ABC270F] Transportation
配点 : 点
問題文
AtCoder 国には 個の島があり、 最初、どの島にも空港・港はなく、どの島の間にも道路はありません。 王である高橋君はこれらの島の間に交通手段を用意することにしました。 具体的には、高橋君は次の操作のうち つを選んで行うことを好きなだけ繰り返す事ができます。
- をみたす を選び、コスト を払って、島 に空港を建設する。
- をみたす を選び、コスト を払って、島 に港を建設する。
- をみたす を選び、コスト を払って、島 と島 の間を双方向に結ぶ道路を建設する。
高橋君の目標は、任意の相異なる つの島 , について、 島 からはじめて次の行動のうち つを選んで行うことを好きなだけ繰り返す事で、 島 に到達することができるようにする事です。
- 島 の両方に空港がある時、島 から島 まで移動する。
- 島 の両方に港がある時、島 から島 まで移動する。
- 島 を結ぶ道路が存在する時、島 から島 まで移動する。
高橋君が目標を達成するのに必要な最小コストを求めてください。
制約
- $1\leq A_i
- ならば
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
高橋君が目標を達成するのに必要な最小コストを出力せよ。
4 2
1 20 4 7
20 2 20 3
1 3 5
1 4 6
16
高橋君は次のように交通手段を建設します。
- コスト を払って、島 に空港を建設する。
- コスト を払って、島 に空港を建設する。
- コスト を払って、島 に港を建設する。
- コスト を払って、島 に港を建設する。
- コスト を払って、島 と島 の間を結ぶ道路を建設する。
このとき、目標は達成されており、かかったコストは となります。 コスト 以下で目標を達成する方法はないため、 を出力します。
3 1
1 1 1
10 10 10
1 2 100
3
空港・港・道路のうち、一度も建設されないものがあっても構いません。
7 8
35 29 36 88 58 15 25
99 7 49 61 67 4 57
2 3 3
2 5 36
2 6 89
1 6 24
5 7 55
1 3 71
3 4 94
5 6 21
160