atcoder#AGC061D. [AGC061D] Almost Multiplication Table

[AGC061D] Almost Multiplication Table

配点 : 10001000

問題文

正の整数 N,MN, MN×MN \times M 正整数行列 Ai,jA_{i, j} があります。二つの**(狭義)単調増加**正整数列 X=(X1,,XN),Y=(Y1,,YM)X = (X_1, \ldots, X_N), Y = (Y_1, \ldots, Y_M) に対し、ペナルティ D(X,Y)D(X, Y) を $\max_{1 \leq i \leq N, 1 \leq j \leq M} |X_i Y_j - A_{i, j}|$ と定義します。

D(X,Y)D(X, Y) を最小化する二つの**(狭義)単調増加**正整数列 X,YX, Y を求めてください。

制約

  • 1N,M51 \leq N, M \leq 5
  • 1Ai,j1091 \leq A_{i, j} \leq 10^9 (1iN1 \leq i \leq N, 1jM1 \leq j \leq M)
  • 入力中の値は全て整数である。

入力

入力は、標準入力から以下の形式で与えられる。

NN MM

A1,1A_{1,1} \ldots A1,MA_{1,M}

\vdots

AN,1A_{N,1} \ldots AN,MA_{N,M}

出力

答えを以下の形式で出力せよ。

DminD_{min}

X1X_1 \ldots XNX_N

Y1Y_1 \ldots YMY_M

ここで、DminD_{min} は最小のペナルティであり、また以下の条件が満たされなければならない。

  • D(X,Y)D(X, Y)DminD_{min} に等しい。
  • Xi<Xi+1X_i < X_{i + 1} (1iN11 \leq i \leq N - 1)
  • Yj<Yj+1Y_j < Y_{j + 1} (1jM11 \leq j \leq M - 1)
  • 1Xi21091 \leq X_i \leq 2\cdot 10^9 (1iN1 \leq i \leq N)
  • 1Yj21091 \leq Y_j \leq 2\cdot 10^9 (1jM1 \leq j \leq M)

最後の二条件を満たす最適解が存在することは証明できる。

1 1
853922530
0
31415
27182
3 3
4 4 4
4 4 4
4 4 4
5
1 2 3 
1 2 3
3 4
4674 7356 86312 100327
8737 11831 145034 167690
47432 66105 809393 936462
357
129 216 1208 
39 55 670 775