Advertisement
a53

Plata1

a53
Oct 24th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.53 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int n,S,v[10],x[10],c[100];
  5.  
  6. void afisare(int k)
  7. {
  8. for(int i=1;i<=k;++i)
  9. cout<<x[i]<<' ';
  10. cout<<'\n';
  11. }
  12.  
  13. void backtracking(int k,int sum)
  14. {
  15. if(k<=n)
  16. for(int i=0;i<=min((S-sum)/v[k],c[k]);++i)
  17. {
  18. x[k]=i;
  19. if(sum+x[k]*v[k]==S)
  20. afisare(k),exit(0);
  21. else
  22. backtracking(k+1,sum+x[k]*v[k]);
  23. }
  24. }
  25.  
  26. int main()
  27. {
  28. cin>>n>>S;
  29. for(int i=1;i<=n ;++i)
  30. cin>>v[i];
  31. for(int i=1;i<=n;++i)
  32. cin>>c[i];
  33. backtracking(1,0);
  34. return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement