atcoder#ABC263F. [ABC263F] Tournament

[ABC263F] Tournament

配点 : 500500

問題文

11 から 2N2^N の番号がついた 2N2^N 人でじゃんけん大会を行います。

大会は以下の形式で行われます。

  • 参加者を人 11、人 22\ldots、人 2N2^N の順に横一列に並べる。
  • 現在の列の長さを 2M2M として、各 i (1iM)i\ (1\leq i \leq M) について左から 2i12i-1 番目の人と左から 2i2i 番目の人で試合を行い、負けた MM 人を列から外す。これを NN 回繰り返す。

ここで、人 ii はちょうど jj 回試合に勝つと Ci,jC_{i,j} 円獲得できます。11 回も勝たなかった場合は何も貰えません。全ての試合の勝敗を自由に決められるとき、人 11、人 22\ldots、人 2N2^N が貰えるお金の合計の最大値を求めてください。

制約

  • 1N161 \leq N \leq 16
  • 1Ci,j1091 \leq C_{i,j} \leq 10^9
  • 入力は全て整数

入力

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

NN

C1,1C_{1,1} C1,2C_{1,2} \ldots C1,NC_{1,N}

C2,1C_{2,1} C2,2C_{2,2} \ldots C2,NC_{2,N}

\vdots

C2N,1C_{2^N,1} C2N,2C_{2^N,2} \ldots C2N,NC_{2^N,N}

出力

答えを出力せよ。

2
2 5
6 5
2 1
7 9
15

初めの列は (1,2,3,4)(1,2,3,4) です。

11 と人 22 の試合で人 22 が勝ち、人 33 と人 44 の試合で人 44 が勝ったとすると、列は (2,4)(2,4) になります。

次に人 22 と人 44 の試合で人 44 が勝ったとすると、列は (4)(4) になり、これで大会が終了となります。

このとき、人 22 はちょうど 11 回勝ち、人 44 はちょうど 22 回勝ったので、貰えるお金の合計は 0+6+0+9=150+6+0+9=15 となります。 これが貰えるお金の合計の最大値です。

3
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
4