AT_joi2017ho_c JOIOI 王国 (Kingdom of JOIOI)
Description
[problemUrl]: https://atcoder.jp/contests/joi2017ho/tasks/joi2017ho_c
Input Format
標準入力から以下の入力を読み込め.
- $ 1 $ 行目には,$ 2 $ 個の整数 $ H,\ W $ が空白を区切りとして書かれている.これらは,JOIOI 国が $ H $ 行 $ W $ 列のマスに区切られた長方形の形をしていることを表す.
- 続く $ H $ 行のうちの $ i $ 行目 ($ 1\ \leqq\ i\ \leqq\ H $) には,$ W $ 個の整数 $ A_{i,\ 1},\ A_{i,\ 2},\ \ldots,\ A_{i,\ W} $ が空白を区切りとして書かれている.これは,JOIOI 王国の上から $ i $ 行目,左から $ j $ 列目 ($ 1\ \leqq\ j\ \leqq\ W $) の標高が $ A_{i,\ j} $ であることを表す.
Output Format
標準出力に,条件を満たすように地域の分割をした際の,地域 JOI の中での標高の最大値と最小値の差と,地域 IOI の中での標高の最大値と最小値の差のうち,大きい方の値の最小値を $ 1 $ 行で出力せよ.
- - - - - -
Explanation/Hint
### 課題
JOIOI 王国の各マスの標高が与えられたとき,条件を満たすように地域の分割をした際の,地域 JOI の中での標高の最大値と最小値の差と,地域 IOI の中での標高の最大値と最小値の差のうち,大きい方の値の最小値を求めるプログラムを作成せよ.
- - - - - -
### 制限
すべての入力データは以下の条件を満たす.
- $ 2\ \leqq\ H\ \leqq\ 2\,000 $.
- $ 2\ \leqq\ W\ \leqq\ 2\,000 $.
- $ 1\ \leqq\ A_{i,\ j}\ \leqq\ 1\,000\,000\,000 $ ($ 1\ \leqq\ i\ \leqq\ H $,$ 1\ \leqq\ j\ \leqq\ W $).
### 小課題 1 \[15 点\]
以下の条件を満たす.
- $ H\ \leqq\ 10 $.
- $ W\ \leqq\ 10 $.
### 小課題 2 \[45 点\]
以下の条件を満たす.
- $ H\ \leqq\ 200 $.
- $ W\ \leqq\ 200 $.
### 小課題 3 \[40 点\]
追加の制限はない.
- - - - - -
### Sample Explanation 1
この入力例では,例えば下の図のように地域を分割すればよい.ここで,J は地域 JOI,I は地域 IOI を表す. ``` J J J I J J J I J J I I J I I I ``` ここで,例えば次のような分割は,左から $ 3 $ 列目において地域 IOI がひとつながりになっていないため,条件を満たす分割ではない. ``` J J I I J J J I J J J I J I I I ``` - - - - - -