問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
1 ~ n の番号がついた n 個のおもりがあり、おもり i の重さは a_i です。
おもりを何個か選んで重さの和が x となるようにする方法を考えたとき、選ぶおもりの個数の最小値を出力してください。なお、同じおもりを2個以上選ぶことはできません。
なお、重さの和が x となるようにおもりを選ぶ方法が存在しない場合は-1と出力してください。
n x
a_1
a_2
...
a_n
・ 1行目に、おもりの個数 n と目標とする重さの和 x が半角スペース区切りで与えられます。
・ 続く n 行のうち i 行目では、おもり i の重さ a_i が与えられます。
おもりを何個か選んで重さの和が x となるようにする方法のうち、選ぶおもりの個数の最小値を出力してください。
ただし、重さの和が x となるようにおもりを選ぶ方法が存在しない場合は-1と出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
・ 1 ≦ n ≦ 100
・ 1 ≦ x ≦ 1,000
・ 1 ≦ a_i ≦ 100
5 10
7
3
4
3
2
2