#
# 最少货币数
# @param arr int整型一维数组 the array
# @param aim int整型 the target
# @return int整型
#
# fx = f[x-arr_i] +1
import sys

class Solution:
    def minMoney(self , arr , aim ):
        # write code here
        res = [sys.maxsize for i in range(aim+1)]
        res[0] = 0
        for i in range(1,aim+1):
            for j in arr:
                if i>=j and res[i-j]!=sys.maxsize:
                    res[i] = min(res[i],res[i-j]+1)
#         print(res)
        return res[-1] if res[-1]!=sys.maxsize else -1