結果

問題 No.3386 Up Down Hiking (Python)
コンテスト
ユーザー Yu_212
提出日時 2025-11-22 14:18:31
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 489 ms / 2,000 ms
コード長 457 bytes
コンパイル時間 431 ms
コンパイル使用メモリ 82,408 KB
実行使用メモリ 96,664 KB
最終ジャッジ日時 2025-11-22 14:18:48
合計ジャッジ時間 14,585 ms
ジャッジサーバーID
(参考情報)
judge6 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 43
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

n,m=map(int,input().split())
*h,=map(int,input().split())
e=[[]for _ in range(n)]
for i in range(m):
 a,b=map(int,input().split())
 a-=1
 b-=1
 e[a].append(b)
 e[b].append(a)
o=sorted(range(n),key=lambda x:h[x])


t=[-n*2]*n
t[0]=0
for i in o:
 for v in e[i]:
  if h[v]<h[i]:t[i]=max(t[i],t[v]+1)


u=[-n*2]*n
u[n-1]=0
for i in o:
 for v in e[i]:
  if h[v]<h[i]:u[i]=max(u[i],u[v]+1)

a=max(t[i]+u[i]for i in range(n))
if a<0:
 print(-1)
else:
 print(a+1)
 
0