Advertisement
Guest User

Untitled

a guest
Oct 11th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <vector>
  3. #define MAX_N 6
  4. using namespace std;
  5. int n,m,A[MAX_N],max_sum;
  6. vector<int>optim_path;
  7. void sum(int cur_sum,int start,vector<int>path)
  8. {
  9. path.push_back(A[start]);
  10. if(cur_sum<=m && cur_sum>max_sum)
  11. {
  12. max_sum=cur_sum;
  13. optim_path.resize(path.size());
  14. for(int i=0;i<path.size();i++)
  15. optim_path[i]=path[i];
  16. }
  17. for(int i=start+2;i<=n;i++)
  18. sum(cur_sum+A[i],i,path);
  19. }
  20. int main()
  21. {
  22. scanf("%d %d",&n,&m);
  23. for(int i=1;i<=n;i++)
  24. scanf("%d",&A[i]);
  25. for(int i=1;i<=n;i++)
  26. {
  27. vector<int>path;
  28. sum(A[i],i,path);
  29. }
  30. printf("%d\n",max_sum);
  31. for(int i=0;i<optim_path.size();i++)printf("%d ",optim_path[i]);
  32. printf("\n");
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement