#include #include // Function to check if there is a subset with the given sum bool isSubsetSum(int set[], int n, int sum) { bool dp[sum + 1]; dp[0] = true; for (int i = 1; i <= sum; i++) dp[i] = false; for (int i = 0; i < n; i++) for (int j = sum; j >= set[i]; j--) if (dp[j - set[i]]) dp[j] = true; return dp[sum]; } int main() { int set[] = {3, 34, 4, 12, 5, 2}; int sum = 9; int n = sizeof(set) / sizeof(set[0]); if (isSubsetSum(set, n, sum)) printf("There is a subset with sum %d\n", sum); else printf("No subset with sum %d\n", sum); return 0; }