結果
| 問題 | No.807 umg tours |
| コンテスト | |
| ユーザー |
回転
|
| 提出日時 | 2026-05-22 17:55:14 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 2,700 ms / 4,000 ms |
| コード長 | 661 bytes |
| 記録 | |
| コンパイル時間 | 331 ms |
| コンパイル使用メモリ | 85,248 KB |
| 実行使用メモリ | 173,300 KB |
| 最終ジャッジ日時 | 2026-05-22 17:55:39 |
| 合計ジャッジ時間 | 25,629 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_1 |
| 純コード判定待ち |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 26 |
ソースコード
import heapq
N,M = list(map(int,input().split()))
edge = [[] for _ in range(N)]
for _ in range(M):
a,b,c = list(map(int,input().split()))
a -= 1;b -= 1
edge[a].append((c,b))
edge[b].append((c,a))
q = [(0,0,0), (0,1,0)]
INF = 10**18
visited = [[INF,INF] for _ in range(N)]
while(q):
v, have, now = heapq.heappop(q)
if(visited[now][have] <= v):continue
visited[now][have] = v
for w,i in edge[now]:
if(visited[i][have] > v+w):
heapq.heappush(q,(v+w, have, i))
if(have and visited[i][0] > v):
heapq.heappush(q,(v, 0, i))
for i in range(N):
print(visited[i][0] + visited[i][1])
回転