問題一覧 > 通常問題

No.17 2つの地点に泊まりたい

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 293
作問者 : nmnmnmnmnmnmnm
3 ProblemId : 61 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2016-10-20 01:14:51

問題文

0からN1までのN個の地点がある。
地点から地点の移動コストがM個与えられる。
また各地点に滞在コストがある。

0地点からN1地点にたどり着くまでに、 0地点とN1地点以外の異なる2つの地点に滞在しなければならない。
滞在する地点は自由に決めて良い。
この条件での移動コストと滞在コストの合計の最小値を求めよ。

都市を通るけど、滞在しないこともできます。

入力

N
S0
S1

Si

SN1
M
A1 B1 C1
A2 B2 C2

Aj Bj Cj

AM BM CM

一行目は地点の数N (4N50)が与えられる。
その後のN行は0地点からN1地点までのN個の地点の滞在コストSi (1Si1000,0iN1) が与えられる。
ただし、0地点とN1地点の滞在コストは0で与えられる。

その次の行は、移動についての情報がM(1MN(N1)/2) が与えられる。
その後のM行は移動元Aj (0AjN1)、移動先Bj (0BjN1)、移動コストCj (1Cj1000)の順でM個の情報が与えられる。(1jM)

AjからBj」また「BjからAj」のどちらも移動可能とする。(つまり無向グラフ)
AjBjは保証されている。
AjからBj(その逆も含む)への遷移は複数ないとする。

0地点からN1地点には必ずたどり着ける経路があることが保証される。
さらに0地点とN1地点以外の異なる2つの地点に滞在することができることが保証される。
2015/07/08 20:53追記
0地点から辿りつけない地点もあることに注意。

移動コストと滞在コストの単位は同一とし、加算できるものとする。

出力

移動コストと滞在コストの合計の最小値を一行で出力してください。
最後に改行してください。

サンプル

サンプル1
入力
4
0
2
100
0
5
0 1 1
0 2 1
1 2 1
1 3 1
2 3 2
出力
105

地点は全部で4個。
地点1と地点2にはかならず滞在しなけらばならない。
0213の順番で移動し、
地点1と地点2に滞在したとき最小コストになる。

サンプル2
入力
4
0
3
3
0
3
0 1 1
1 3 2
2 3 4
出力
17

地点1と地点2にはかならず滞在しなけらばならない。
よって、01323のような移動が必要。
同じ地点を2度通っても良い。

サンプル3
入力
16
0
15
6
23
8
193
14
13
53
16
85
12
15
5
14
0
15
0 1 17
14 15 18
7 8 87
4 5 137
8 9 17
11 12 33
5 6 177
9 10 47
10 11 27
1 2 77
6 7 114
12 13 15
2 3 127
13 14 11
3 4 85
出力
1000

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。