class Solution {
public:
   int minMoney(vector<int>& arr, int aim) {
        vector<int>dp(aim+1,0x3f3f3f3f);
        dp[0]=0;
        for(auto x:arr)
        for(int j=0;j<=aim;j++)
        if(j-x>=0)dp[j]=min(dp[j],dp[j-x]+1);
        return dp[aim]==0x3f3f3f3f?-1:dp[aim];
    }
};