結果
問題 | No.1382 Travel in Mitaru city |
ユーザー | 👑 SPD_9X2 |
提出日時 | 2021-02-07 21:19:50 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 324 ms / 2,000 ms |
コード長 | 635 bytes |
コンパイル時間 | 1,551 ms |
コンパイル使用メモリ | 81,900 KB |
実行使用メモリ | 97,888 KB |
最終ジャッジ日時 | 2024-07-04 14:33:53 |
合計ジャッジ時間 | 14,703 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 68 |
ソースコード
import heapq from collections import deque from sys import stdin N,M,S,T = map(int,stdin.readline().split()) S -= 1 T -= 1 p = list(map(int,stdin.readline().split())) lis = [ [] for i in range(N) ] for i in range(M): a,b = map(int,stdin.readline().split()) a -= 1 b -= 1 lis[a].append(b) lis[b].append(a) X = p[S] Y = 0 q = [(-1*p[S],S)] inlis = [False] * N inlis[S] = 0 while q: np,v = heapq.heappop(q) np *= -1 if X > np: X = np Y += 1 for nex in lis[v]: if not inlis[nex]: inlis[nex] = True heapq.heappush(q,(-1*p[nex],nex)) print (Y)