fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. bool f(vector<int>&v, vector<int>&ds,int idx, int sum, int k){
  4. if(idx>=(int)v.size() || sum==k){
  5. if(sum==k){
  6. for(int i=0;i<ds.size();i++)
  7. cout<<ds[i]<<" ";
  8. cout<<endl;
  9. return true;
  10. }
  11. return false;
  12. }
  13. sum=sum+v[idx];
  14. ds.push_back(v[idx]);
  15. bool ans = f(v,ds,idx+1,sum,k);
  16. if(ans==true)
  17. return true;
  18. sum = sum-v[idx];
  19. ds.pop_back();
  20. ans = f(v,ds,idx+1,sum,k);
  21. return ans;
  22. }
  23. int main() {
  24. vector<int>v= {3,1,2};
  25. vector<int>ds; int sum=0; int idx=0; int k=7;
  26. cout<<f(v,ds,idx,sum,k)<<endl;
  27. }
Success #stdin #stdout 0.01s 5316KB
stdin
Standard input is empty
stdout
0