AT_agc066_a [AGC066A] Adjacent Difference

Description

[problemUrl]: https://atcoder.jp/contests/agc066/tasks/agc066_a $ N $ 行 $ N $ 列のマス目があります.上から $ i $ 行目,左から $ j $ 列目のマスをマス $ (i,j) $ と表します. 各マスには整数がひとつずつ書き込まれており,はじめマス $ (i,j) $ に書き込まれている整数は $ A_{i,j} $ です. あなたは次の操作を繰り返し行うことができます: - $ 1\leq\ i,\ j\leq\ N $ を満たす整数 $ i,j $ および整数 $ x $ を選び,$ A_{i,j} $ に $ x $ を加える.この操作にはコストが $ |x| $ かかる. 正整数 $ d $ が与えられます.あなたの目標は次の条件が成り立つようにすることです: - 上下左右の $ 4 $ 方向に隣接する $ 2 $ マスに書き込まれている整数の差は $ d $ 以上である.より形式的には,次の $ 2 $ 条件が成り立つ: - $ 1\leq\ i\leq\ N-1 $, $ 1\leq\ j\leq\ N $ を満たす整数 $ i,\ j $ に対して $ |A_{i,j}-A_{i+1,j}|\geq\ d $. - $ 1\leq\ i\leq\ N $, $ 1\leq\ j\leq\ N-1 $ を満たす整数 $ i,\ j $ に対して $ |A_{i,j}-A_{i,j+1}|\geq\ d $. この目標を,総コスト $ \frac12\ dN^2 $ 以下で達成してください.

Input Format

N/A

Output Format

N/A

Explanation/Hint

### 制約 - $ 2\leq\ N\leq\ 500 $ - $ 1\leq\ d\leq\ 1000 $ - $ -1000\leq\ A_{i,j}\leq\ 1000 $ ### Sample Explanation 1 次のように $ 4 $ 回の操作を行うと,マス目の状態が出力例の通りになります. - $ (i,j,x)=(1,2,7) $ として操作を行う. - $ (i,j,x)=(2,2,-5) $ として操作を行う. - $ (i,j,x)=(3,1,-2) $ として操作を行う. - $ (i,j,x)=(3,2,7) $ として操作を行う. コストの総和は $ 7+5+2+7=21 $ であり,これは $ \frac{1}{2}dN^2=\frac{45}{2} $ 以下です.