100 atcoder#ABC167C. [ABC167C] Skill Up

[ABC167C] Skill Up

题目描述

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

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

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

输入格式

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

N N M M X X C1 C_1 A1,1 A_{1,1} A1,2 A_{1,2} \cdots A1,M A_{1,M} C2 C_2 A2,1 A_{2,1} A2,2 A_{2,2} \cdots A2,M A_{2,M} \vdots CN C_N AN,1 A_{N,1} AN,2 A_{N,2} \cdots AN,M A_{N,M}

输出格式

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

题目大意

NN本书,每本书都能提升第i i 种算法BiB_{i}的理解能力。

问:如果可以完成M M 种算法的理解水平提升到X X 或者更高的程度(每一种算法都要提升到X X 或者更高的程度),请输出高桥所需的最小花费,否则输出-1

3 3 10
60 2 2 4
70 8 7 9
50 2 3 9
120
3 3 10
100 3 1 4
100 1 5 9
100 2 6 5
-1
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

提示

制約

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

Sample Explanation 1

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

Sample Explanation 2

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