結果

問題 No.3386 Up Down Hiking (Python)
コンテスト
ユーザー miya145592
提出日時 2025-11-22 13:49:29
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 501 bytes
コンパイル時間 317 ms
コンパイル使用メモリ 82,184 KB
実行使用メモリ 98,940 KB
最終ジャッジ日時 2025-11-22 13:49:43
合計ジャッジ時間 12,588 ms
ジャッジサーバーID
(参考情報)
judge1 / judge6
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 25 TLE * 2 -- * 16
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import heapq as h
N,M=map(int,input().split())
H=list(map(int,input().split()))
G=[[]for _ in range(N)]
for _ in range(M):
 a,b=map(int,input().split())
 a-=1
 b-=1
 G[a].append(b)
 G[b].append(a)
d=[[-1]*2 for _ in range(N)]
d[0][0]=0
q=[(0,0,0)]
while q:
 e,v,f=h.heappop(q);e=-e
 for n in G[v]:
  if H[n]>H[v]:
   if f==0 and d[n][0]<e+1:
    d[n][0]=e+1
    h.heappush(q,(-(e+1),n,0))
  else:
   if d[n][1]<e+1:
    d[n][1]=e+1
    h.heappush(q,(-(e+1),n,1))
a=max(d[-1])
print(a+1 if a>=0 else a)
0