結果
問題 |
No.1473 おでぶなおばけさん
|
ユーザー |
|
提出日時 | 2021-05-08 16:56:21 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,024 ms / 2,000 ms |
コード長 | 714 bytes |
コンパイル時間 | 303 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 108,672 KB |
最終ジャッジ日時 | 2024-09-16 22:20:58 |
合計ジャッジ時間 | 22,553 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 47 |
ソースコード
N, M = map(int, input().split()) adj = [[] for i in range(N)] for i in range(M): s, t, d = map(int, input().split()) s -= 1 t -= 1 adj[s].append((t, d)) adj[t].append((s, d)) from collections import deque def mindist(w): qu = deque([0]) dist = [-1] * N dist[0] = 0 while len(qu): v = qu.popleft() for nv, d in adj[v]: if d < w: continue if dist[nv] == -1: qu.append(nv) dist[nv] = dist[v] + 1 return dist[N - 1] st = 0 en = 10 ** 9 + 1 while en - st > 1: mid = (en + st) // 2 d = mindist(mid) if d == -1: en = mid else: st = mid print(st, mindist(st))