C - Skill Up Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 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 を、 そうでなければ目標を達成するのに必要な金額の最小値を出力せよ。


入力例 1Copy

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

出力例 1Copy

Copy
120

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


入力例 2Copy

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

出力例 2Copy

Copy
-1

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


入力例 3Copy

Copy
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

出力例 3Copy

Copy
1067

Score : 300300 points

Problem

Takahashi, who is a novice in competitive programming, wants to learn MM algorithms. Initially, his understanding level of each of the MM algorithms is 00.

Takahashi is visiting a bookstore, where he finds NN books on algorithms. The ii-th book (1iN1\leq i\leq N) is sold for CiC_i yen (the currency of Japan). If he buys and reads it, his understanding level of the jj-th algorithm will increase by Ai,jA_{i,j} for each jj (1jM1\leq j\leq M). There is no other way to increase the understanding levels of the algorithms.

Takahashi's objective is to make his understanding levels of all the MM algorithms XX or higher. Determine whether this objective is achievable. If it is achievable, find the minimum amount of money needed to achieve it.

Constraints

  • All values in input are integers.
  • 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

Input

Input is given from Standard Input in the following format:

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}

Output

If the objective is not achievable, print -1; otherwise, print the minimum amount of money needed to achieve it.


Sample Input 1Copy

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

Sample Output 1Copy

Copy
120

Buying the second and third books makes his understanding levels of all the algorithms 1010 or higher, at the minimum cost possible.


Sample Input 2Copy

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

Sample Output 2Copy

Copy
-1

Buying all the books is still not enough to make his understanding levels of all the algorithms 1010 or higher.


Sample Input 3Copy

Copy
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

Sample Output 3Copy

Copy
1067


2025-04-23 (Wed)
11:50:03 +00:00