問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
長さ N の数列 a_1, a_2, ..., a_N と正の整数 K が与えられます。
a_1, a_2, ..., a_N からいくつかの要素を選んでその和を K とすることはできるかを判定してください。
ただし、1 つも選ばないときの和は 0 とします。
できるなら Yes
、できないなら No
を出力してください。
この問題は 1 つ前の問題よりも N が大きい場合があるので同じ解法では解くことが出来ません。
動的計画法を用いることでこの問題を解くことが出来ます。
N K
a_1 a_2 ... a_N
答えを 1 行で出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて, 以下の条件をみたします
・入力はすべて整数
・1 ≦ N ≦ 1,000
・1 ≦ K ≦ 2,000
・1 ≦ a_i ≦ 100 (1 ≦ i ≦ N)
3 7
2 2 3
Yes
5 5
2 2 2 2 2
No