結果
問題 |
No.2639 Longest Increasing Walk
|
ユーザー |
![]() |
提出日時 | 2024-02-19 21:45:47 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 318 ms / 2,000 ms |
コード長 | 439 bytes |
コンパイル時間 | 295 ms |
コンパイル使用メモリ | 82,148 KB |
実行使用メモリ | 96,416 KB |
最終ジャッジ日時 | 2024-09-29 01:40:40 |
合計ジャッジ時間 | 5,615 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 33 |
ソースコード
H,W=map(int,input().split()) A=[list(map(int,input().split())) for _ in range(H)] B=list(range(H*W)) B.sort(key=lambda x:A[x//W][x%W]) D=[[1]*W for _ in range(H)] dd=[(0,1),(1,0),(-1,0),(0,-1)] for p in B: i,j=divmod(p,W) for di,dj in dd: ni=i+di nj=j+dj if 0<=ni<H and 0<=nj<W: if A[ni][nj]>A[i][j]: D[ni][nj]=max(D[ni][nj],D[i][j]+1) print(max(max(D[i]) for i in range(H)))