現在有 $n$ 個正整數,請問你可不可以從中間選幾個數字使其加總為 $k$?
如果可以輸出 YES
,否則輸出 NO
。(數字不能重複選擇。)
舉例來說,如果有五個數字,分別是 [3, 7, 11, 9, 4]
:
YES
,因為 $9+7=16$。NO
,因為不管怎麼選擇都無法讓加總變成 $17$。[3, 7, 11, 9, 4]
(也就跟上面的舉例一樣),那麼遞迴樹大概會長的像下面這張圖一樣,你可以用這張圖去思考你的遞迴該怎麼實作。一開始輸入一行,其有兩個正整數 $n,k$ 以一個空格間隔,分別代表你有幾個數字可以選擇,以及題目所給定的目標 $k$。
接下來會在輸入一行,這行有 $n$ 個正整數 $x_i$,分別表示你可以選的數字。
int
的大小。輸出一行 YES
或 NO
,表示目標 $k$ 可不可以從題目所給的 $n$ 個數字中選幾個數字使其加總為 $k$。
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | 範例測資 | 0 |
2 | 0~7 | $1\le n\le 5$ | 30 |
3 | 0~16 | 無額外限制 | 70 |