結果
問題 |
No.1465 Archaea
|
ユーザー |
![]() |
提出日時 | 2021-04-02 21:54:24 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 345 ms / 2,000 ms |
コード長 | 620 bytes |
コンパイル時間 | 348 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 111,016 KB |
最終ジャッジ日時 | 2024-12-24 01:16:34 |
合計ジャッジ時間 | 4,498 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 |
ソースコード
import heapq INF=10**9 def Dijkstra(graph, start): dist=[INF]*len(graph) queue=[(0, start)] dist[start]=0 while queue: path_len, v=heapq.heappop(queue) if path_len==dist[v]: for w in graph[v]: if dist[w[0]]>path_len+w[1]: heapq.heappush(queue, (path_len+w[1], w[0])) dist[w[0]]=path_len+w[1] return dist graph=[] n,k=map(int,input().split()) for i in range(n+1): graph.append([]) for i in range(1,n+1): if i+3<=n: graph[i].append((i+3,1)) if i*2<=n: graph[i].append((2*i,1)) dist=Dijkstra(graph,1) if dist[n]<=k: print('YES') else: print('NO')