結果
問題 | No.17 2つの地点に泊まりたい |
ユーザー |
![]() |
提出日時 | 2016-04-26 06:08:44 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 78 ms / 5,000 ms |
コード長 | 516 bytes |
コンパイル時間 | 173 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,400 KB |
最終ジャッジ日時 | 2024-10-15 01:34:14 |
合計ジャッジ時間 | 1,894 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 27 |
ソースコード
n1 = int(raw_input()) s = [int(raw_input()) for _ in range(n1)] m = [[10000 for _ in range(n1)] for _ in range(n1)] for i in range(n1): m[i][i] = 0 n2 = int(raw_input()) for i in range(n2): a,b,c = map(int,raw_input().split()) m[a][b] = m[b][a] = c for i in range(n1): for j in range(n1): for k in range(n1): m[j][k] = min(m[j][k], m[j][i]+m[i][k]) cost = [] for i in range(1,n1-1): for j in range(1,n1-1): if i == j: continue cost.append(m[0][i] + s[i] + m[i][j] + s[j] + m[j][-1]) print min(cost)