結果

問題 No.17 2つの地点に泊まりたい
ユーザー Snark86
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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)
0