No.393 2本の竹
タグ : / 解いたユーザー数 106
作問者 : horiesiniti / テスター : 37zigen
問題文
貴方は竹職人である。
竹を切って顧客の要望に答える。
今貴方の手元には整数長の2本の竹がある。
そしてあなたの手元には複数人の顧客からの竹の長さの要求がある。
一人の顧客は一つ、整数長の竹を要求している。
貴方は2本の竹を細かく切断して顧客の要求にこたえるが、全員の要望に応えられるかわからない。
そこで一人でも多くの客に竹を提供できるよう竹を切断することにした。
竹の長さと顧客からの要望リストが与えられるので最大何人に竹を提供できるか計算するプログラムを書いてほしい。
入力
$d$ $n_{1_1}$ $n_{2_1}$ $m_1$ $A_{1_1}$ $\dots$ $A_{m1_1}$ $\dots$ $n_{1_d}$ $n_{2_d}$ $m_d$ $A_{1_d}$ $\dots$ $A_{md_d}$
データセットは複数からなる。
データセットの数$d$が一行目に与えられる。 $0 \lt d \le 10$一つのデータセットは 2本の竹の長さ
$n_1$ $n_2$ が一行に与えられる。 $1 \le n_1 , n_2 \le 100000$
次の行に顧客の人数mが一行に与えられる。 $1\le m \le 60$
その次の行に空白区切りで各顧客の要求竹長さ$a_i$が与えられる。 $1 \le a_i \le 100000$
これで一つのデータセットであり、$d$件繰り返される。各データセットごとに竹を提供できる顧客の最大数を答えよ。 $i$番目のデータセットに対する答えは$u_i$である。
出力
$u_1$ $\dots$ $u_d$最後に改行してください。
サンプル
サンプル1
入力
4 15 13 6 4 5 7 9 3 7 10 20 6 5 8 9 6 5 7 20 20 9 5 4 4 4 7 6 11 5 4 3 3 3 7 8 4
出力
5 4 8 0
4つのデータセットがある。
4 5 3と7 7などの切断が可能であり1つ目のデータセットは5人である
5 5と6 7などの切断が可能であり2つ目のデータセットは4人である
4 5 4 7と5 4 4 6等の切断が可能であり3つ目のデータセットは8人である。
4つ目はどの顧客の要求もかなえられないので0人となる。
サンプル2
入力
2 10 14 5 4 3 2 7 8 10 10 3 7 7 5
出力
5 2
二つのデータセットがある。 一つ目は竹を一本目の竹を2 8で、2本目の竹を4 3 7で切ることで5人の顧客全員の要求にこたえられる。 2つ目のデータセットは7と5か7と7でもよいがとりあえず2人の要求にこたえられる。 よって一つ目のデータセットには5 2つ目のデータセットには2と出力せよ。 出力はデータセット一つごとに改行すること。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。