結果
問題 | No.1868 Teleporting Cyanmond |
ユーザー |
![]() |
提出日時 | 2022-03-20 20:50:37 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 129 ms / 2,000 ms |
コード長 | 543 bytes |
コンパイル時間 | 292 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 97,024 KB |
最終ジャッジ日時 | 2024-10-07 10:00:03 |
合計ジャッジ時間 | 3,810 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 |
ソースコード
import sys input = sys.stdin.readline from collections import * N = int(input()) R = list(map(int, input().split())) G = [[] for _ in range(N)] for i in range(N-1): G[i].append((R[i]-1, 1)) for i in range(1, N): G[i].append((i-1, 0)) q = deque([0]) dist = [10**18]*N dist[0] = 0 while q: v = q.popleft() for nv, w in G[v]: if dist[nv]>dist[v]+w: dist[nv] = dist[v]+w if w==0: q.appendleft(nv) else: q.append(nv) print(dist[-1])