AT_abc167_c [ABC167C] Skill Up
Description
[problemUrl]: https://atcoder.jp/contests/abc167/tasks/abc167_c
競技プログラミングを始めた高橋くんは、学びたいアルゴリズムが $ M $ 個あります。 最初、各アルゴリズムの理解度は $ 0 $ です。
高橋くんが書店に行くと、$ N $ 冊の参考書が売っていました。$ i $ 番目の参考書 ($ 1\leq\ i\leq\ N $) は $ C_i $ 円で売られていて、購入して読むことで、各 $ j $ ($ 1\leq\ j\leq\ M $) について $ j $ 番目のアルゴリズムの理解度が $ A_{i,j} $ 上がります。 また、それ以外の方法で理解度を上げることはできません。
高橋くんの目標は $ M $ 個すべてのアルゴリズムの理解度を $ X $ 以上にすることです。高橋くんが目標を達成することが可能か判定し、可能な場合は目標を達成するのに必要な金額の最小値を計算してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ X $ $ C_1 $ $ A_{1,1} $ $ A_{1,2} $ $ \cdots $ $ A_{1,M} $ $ C_2 $ $ A_{2,1} $ $ A_{2,2} $ $ \cdots $ $ A_{2,M} $ $ \vdots $ $ C_N $ $ A_{N,1} $ $ A_{N,2} $ $ \cdots $ $ A_{N,M} $
Output Format
高橋くんが目標を達成できないならば `-1` を、 そうでなければ目標を達成するのに必要な金額の最小値を出力せよ。
Explanation/Hint
### 制約
- 入力はすべて整数
- $ 1\leq\ N,\ M\leq\ 12 $
- $ 1\leq\ X\leq\ 10^5 $
- $ 1\leq\ C_i\ \leq\ 10^5 $
- $ 0\leq\ A_{i,\ j}\ \leq\ 10^5 $
### Sample Explanation 1
$ 2,\ 3 $ 番目の参考書を購入すると $ 120 $ 円ですべてのアルゴリズムの理解度を $ 10 $ 以上にすることができ、これが最小値です。
### Sample Explanation 2
すべての参考書を購入しても $ 1 $ つ目のアルゴリズムの理解度が $ 10 $ に達しません。