100 atcoder#ABC167C. [ABC167C] Skill Up

[ABC167C] Skill Up

配点 : 300300

問題文

競技プログラミングを始めた高橋くんは、学びたいアルゴリズムが MM 個あります。 最初、各アルゴリズムの理解度は 00 です。

高橋くんが書店に行くと、NN 冊の参考書が売っていました。ii 番目の参考書 (1iN1\leq i\leq N) は CiC_i 円で売られていて、購入して読むことで、各 jj (1jM1\leq j\leq M) について jj 番目のアルゴリズムの理解度が Ai,jA_{i,j} 上がります。 また、それ以外の方法で理解度を上げることはできません。

高橋くんの目標は MM 個すべてのアルゴリズムの理解度を XX 以上にすることです。高橋くんが目標を達成することが可能か判定し、可能な場合は目標を達成するのに必要な金額の最小値を計算してください。

制約

  • 入力はすべて整数
  • 1N,M121\leq N, M\leq 12
  • 1X1051\leq X\leq 10^5
  • 1Ci1051\leq C_i \leq 10^5
  • 0Ai,j1050\leq A_{i, j} \leq 10^5

入力

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

NN MM XX

C1C_1 A1,1A_{1,1} A1,2A_{1,2} \cdots A1,MA_{1,M}

C2C_2 A2,1A_{2,1} A2,2A_{2,2} \cdots A2,MA_{2,M}

\vdots

CNC_N AN,1A_{N,1} AN,2A_{N,2} \cdots AN,MA_{N,M}

出力

高橋くんが目標を達成できないならば -1 を、 そうでなければ目標を達成するのに必要な金額の最小値を出力せよ。

3 3 10
60 2 2 4
70 8 7 9
50 2 3 9
120

2,32, 3 番目の参考書を購入すると 120120 円ですべてのアルゴリズムの理解度を 1010 以上にすることができ、これが最小値です。

3 3 10
100 3 1 4
100 1 5 9
100 2 6 5
-1

すべての参考書を購入しても 11 つ目のアルゴリズムの理解度が 1010 に達しません。

8 5 22
100 3 7 5 3 1
164 4 5 2 7 8
334 7 2 7 2 9
234 4 7 2 8 2
541 5 4 3 3 6
235 4 8 6 9 7
394 3 6 1 6 2
872 8 4 3 7 2
1067