fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int coins[100];
  4. int amount,n;
  5. int dp[100][1000];
  6. int Coin_Change(int i,int amount)
  7. {
  8. if(i==n)
  9. {
  10. if(amount==0)
  11. return 0;
  12. else
  13. return 1000000000;
  14. }
  15. if(dp[i][amount]!=-1)
  16. {
  17. return dp[i][amount];
  18. }
  19. if(amount>=coins[i])
  20. {
  21. int niye=1+Coin_Change(i+1,amount-coins[i]);
  22. int naniye=Coin_Change(i+1,amount);
  23. return min(niye,naniye);
  24. }
  25. else
  26. {
  27. return Coin_Change(i+1,amount);
  28. }
  29. }
  30. int main()
  31. {
  32. cin>>n;
  33. for(int i=0;i<n;i++)
  34. {
  35. cin>>coins[i];
  36. }
  37. cin>>amount;
  38. for(int i=0;i<=n;i++)
  39. {
  40. for(int j=0;j<=amount;j++)
  41. {
  42. dp[i][j]=-1;
  43. }
  44. }
  45. int min_coins=Coin_Change(0,amount);
  46. cout<<min_coins<<endl;
  47. }
  48.  
Success #stdin #stdout 0s 5316KB
stdin
Standard input is empty
stdout
0