Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define INF 99999999
- vector<int>a;//vector for storing the coins
- vector<vector<int> > dp;
- int n;//total no of coins
- int coinchange(int i,int w)
- {
- if(w<0) return INF;
- if(i==n)
- {
- if(w==0)
- {
- return 0;
- }
- return INF;
- }
- if(dp[i][w]!=-1)
- {
- return dp[i][w];
- }
- int res1=1+coinchange(i+1,w-a[i]);
- int res2=coinchange(i+1,w);
- dp[i][w]=min(res1,res2);
- return dp[i][w];
- }
- int main()
- {
- int amount;
- cin>>n>>amount;
- a.clear();
- a.resize(n);
- for(int i=0; i<n; ++i)
- {
- cin>>a[i];
- }
- dp.resize(amount+1,vector<int>(amount+1,-1));
- int ans=coinchange(0,amount);
- cout<<ans<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement