Guest User

Untitled

a guest
Jan 24th, 2020
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <iostream>
  2. #include<vector>
  3. #include<algorithm>
  4. #include<set>
  5. using namespace std;
  6. set <vector <int>> A;
  7.  
  8. void sumFinal(int* a, int sum, int index, vector<int>b){
  9.     if(index <= -1){
  10.         if(b.size() != 0 && sum == 0){
  11.             sort(b.begin(), b.end());
  12.             A.insert(b);
  13.             // if(A.find(b) != A.end())
  14.              for(int i = 0; i < b.size(); i++)
  15.                  cout<<b[i]<<" ";
  16.             b.clear();
  17.             cout<<endl;
  18.         }
  19.         if(b.size()!= 0)
  20.             b.clear();
  21.         return;
  22.     }
  23.     if(sum < 0)
  24.         return;
  25.     sumFinal(a, sum, index-1, b);
  26.     b.push_back(a[index]);
  27.     sumFinal(a, sum -a[index], index -1, b);
  28.     return;
  29. }
  30.  
  31. int main() {
  32.    int n;
  33.    cin>>n;
  34.    int *a = new int[n];
  35.    for(int i = 0; i < n; i++)
  36.         cin>>a[i];
  37.    int sum;
  38.    cin>>sum;
  39.    vector<int> b;
  40.    sumFinal(a, sum, n-1, b);
  41.  
  42.    return 0;
  43. }
Add Comment
Please, Sign In to add comment