T235316 子集和问题
题目背景
子集和问题的一个实例为$〈S,c〉$。
其中,$S=$\{$x_1, x_2,…, x_n$\}是一个正整数的集合,c是一个正整数。
子集和问题指判定是否存在S的一个子集 $S_1$,使得子集 $S_1$ 的和等于 $c$。
题目描述
现给定一个正整数集合 $S$ 和正整数 $c$,编程求解是否存在 $S$ 的一个子集 $S_1$,使得 $S_1$ 的和等于 $c$。
若有多个子集都可以凑到 $c$,则输出最先凑出的那个子集(即下标字典序最小),如 $S=$\{$2, 2, 6, 5, 4$\}, $c=10$ 时,最先凑出的是 $\{2, 2, 6$\},则输出 $2$ $2$ $6$。
若无法凑到 $c$,则输出 `No Solution!`
输入格式
第一行有 $2$ 个正整数, $n$ 和 $c(1≤n≤10^4,1≤c≤10^7)$;$n$ 表示 $S$ 的元素个数,$c$是子集和的目标值;
第二行有 $n$ 个正整数,表示集合 $S$ 中的元素,保证所有元素的和在 $int$ 范围内。
输出格式
按题意输出相应结果。