Skip to content

Commit ce750fe

Browse files
authored
Count of Subset Sum.cpp
1 parent 735b91e commit ce750fe

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

Count of Subset Sum.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#include <bits/stdc++.h>
2+
using namespace std;
3+
#define int long long int
4+
#define fast \
5+
cin.sync_with_stdio(false); \
6+
cin.tie(NULL); \
7+
cout.tie(NULL);
8+
9+
int dp[1001][10001];
10+
int CountOfSubsetSum(int n, int arr[], int sum)
11+
{
12+
for (int i = 0; i <= n; i++)
13+
dp[i][0] = 1;
14+
for (int i = 1; i <= sum; i++)
15+
dp[0][i] = 0;
16+
for (int i = 1; i <= n; i++)
17+
{
18+
for (int j = 1; j <= sum; j++)
19+
{
20+
if (arr[i - 1] <= j)
21+
dp[i][j] = dp[i - 1][j - arr[i - 1]] + dp[i - 1][j];
22+
else
23+
dp[i][j] = dp[i - 1][j];
24+
}
25+
}
26+
return dp[n][sum];
27+
}
28+
signed main()
29+
{
30+
fast;
31+
int n = 4;
32+
int arr[4] = {1, 2, 3, 3};
33+
int sum = 6;
34+
//memonization
35+
memset(dp, -1, sizeof(dp));
36+
37+
cout << CountOfSubsetSum(n, arr, sum);
38+
39+
return 0;
40+
}

0 commit comments

Comments
 (0)