Advertisement
TAHMID37

coin__siam

Mar 1st, 2022
598
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.80 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define INF 99999999
  5.  
  6.  
  7. vector<int>a;//vector for storing the coins
  8.  
  9. vector<vector<int> > dp;
  10. int n;//total no of coins
  11. int coinchange(int i,int w)
  12. {
  13.     if(w<0) return INF;
  14.  
  15.     if(i==n)
  16.     {
  17.         if(w==0)
  18.         {
  19.             return 0;
  20.         }
  21.         return INF;
  22.     }
  23.     if(dp[i][w]!=-1)
  24.     {
  25.         return dp[i][w];
  26.     }
  27.     int res1=1+coinchange(i+1,w-a[i]);
  28.     int res2=coinchange(i+1,w);
  29.     dp[i][w]=min(res1,res2);
  30.  
  31.     return dp[i][w];
  32. }
  33. int main()
  34. {
  35.  
  36.     int amount;
  37.  
  38.     cin>>n>>amount;
  39.     a.clear();
  40.     a.resize(n);
  41.  
  42.     for(int i=0; i<n; ++i)
  43.     {
  44.         cin>>a[i];
  45.     }
  46.  
  47.    
  48.  
  49.     dp.resize(amount+1,vector<int>(amount+1,-1));
  50.  
  51.  
  52.  
  53.     int ans=coinchange(0,amount);
  54.  
  55.     cout<<ans<<endl;
  56.  
  57. }
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement