結果

問題 No.2639 Longest Increasing Walk
ユーザー shobonvip
提出日時 2024-02-19 18:19:31
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 438 ms / 2,000 ms
コード長 481 bytes
コンパイル時間 265 ms
コンパイル使用メモリ 82,584 KB
実行使用メモリ 126,356 KB
最終ジャッジ日時 2024-09-29 01:12:16
合計ジャッジ時間 6,645 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 33
権限があれば一括ダウンロードができます

ソースコード

diff #

h,w=map(int,input().split())
a=[list(map(int,input().split()))for i in range(h)]
t=[]
for i in range(h):
	for j in range(w):
		t.append((a[i][j], i, j))
t.sort()
t=t[::-1]

dp=[[0]*w for i in range(h)]
for val, i, j in t:
	dp[i][j] = 1
	for v in [(i-1, j),(i+1, j),(i, j-1),(i, j+1)]:
		if 0 <= v[0] < h and 0 <= v[1] < w and a[v[0]][v[1]] > val:
			dp[i][j] = max(dp[i][j], dp[v[0]][v[1]] + 1)

ans = 0
for i in range(h):
	for j in range(w):
		ans = max(ans, dp[i][j])

print(ans)
0