問題一覧 > 通常問題

No.2639 Longest Increasing Walk

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 108
作問者 : noya2 / テスター : shobonvip ponjuice
0 ProblemId : 10626 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-02-19 00:42:18

問題文

HHWW 列のグリッドがあります。グリッドの上から ii 行目、左から jj 列目のマスを (i,j)(i,j) と表記します。マス (i,j)(i,j) には Ai,jA_{i,j} が書いてあります。

長さ LL のマスの列 ((i1,j1),(i2,j2),,(iL,jL))((i_1,j_1),(i_2,j_2),\dots ,(i_L,j_L))Increasing Walk であるとは次の条件がすべて成り立つことを言います。

  • k=1,2,,L1k=1,2,\dots ,L-1 について、マス (ik,jk),(ik+1,jk+1)(i_k,j_k),(i_{k+1},j_{k+1}) は辺で隣接している。つまり ikik+1+jkjk+1=1\lvert i_k-i_{k+1}\rvert + \lvert j_k-j_{k+1}\rvert =1 が成り立つ。
  • k=1,2,,L1k=1,2,\dots ,L-1 について、マス (ik,jk)(i_k,j_k) に書かれた値よりマス (ik+1,jk+1)(i_{k+1},j_{k+1}) に書かれた値の方が 真に大きい。 つまり Aik,jk<Aik+1,jk+1A_{i_k,j_k}\lt A_{i_{k+1},j_{k+1}} が成り立つ。

Increasing Walk の長さとしてあり得る最大値を求めてください。(最大値が存在することが示せます。)

制約

  • 入力はすべて整数
  • 1H,W5001\le H,W\le 500
  • 1Ai,j109 (1iH,1jW)1\le A_{i,j}\le 10^9\ (1\le i\le H, 1\le j\le W)

入力

HH WW
A1,1A_{1,1} A1,2A_{1,2} \dots A1,WA_{1,W}
\vdots
AH,1A_{H,1} AH,2A_{H,2} \dots AH,WA_{H,W}

出力

Increasing Walk の長さとしてあり得る最大値を出力してください。

サンプル

サンプル1
入力
2 3
1 2 4
3 3 4
出力
4

マスの列 ((1,1),(1,2),(2,2),(2,3))((1,1),(1,2),(2,2),(2,3)) は長さ 44 のIncreasing Walk です。

サンプル2
入力
2 2
1 1
1 1
出力
1

サンプル3
入力
4 4
3 1 4 1
5 9 2 6
5 3 5 8
9 7 9 3
出力
4

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。