17int subset_sum(std::vector<int>& v,
int B) {
18 if (
int(v.size()) == 0) {
21 int n = int(v.size());
22 std::vector<std::vector<int>> dp(n + 1, std::vector<int>(B + 1, 0));
23 for (
int i = 0; i <= n; i++) {
27 for (
int i = 1; i <= n; i++) {
28 for (
int j = 0; j <= B; j++) {
29 dp[i][j] = dp[i - 1][j];
31 if (j - v[i - 1] >= 0) {
32 dp[i][j] += dp[i - 1][j - v[i - 1]];