翻译
2024-07-19 14:04:37
发布于:浙江
12阅读
0回复
0点赞
Billy研究了将贪婪算法应用于生活不同领域的问题。目前,他正在研究贪婪算法在变化问题中的应用。有n个不同面值的硬币,每个面值的硬币数量不受限制。任务是用最小数量的硬币收集总和x。贪婪算法每一步都取面值最高的硬币,不超过z。显然,如果硬币的面值中存在面值1,则可以在贪婪算法的帮助下收集任何x的总和。然而,贪婪算法并不总是给出总和的最佳表示,即用最小数量的硬币表示。例如,如果有面值1,3,4,并且要求它收集总和6,贪婪算法将把总和表示为4+1+1,而最佳表示为3+3,少了一个硬币。根据给定的一组人脸值,找出是否存在贪婪算法将以非最优方式收集的总和x。如果存在这样的总和,请找出这些总和中最小的一个。
输入格式
第一行包含一个整数n(1<=n<=400)-硬币面值的数量。这个
第二行包含n个整数ai 1<a;<1 0)描述面值。保证
a1>a2>.>a和a=1。
输出格式
如果贪婪算法以最优方式收集任何总和,则输出-1。否则,输出贪婪算法以非最优方式收集的最小总和。
这里空空如也
有帮助,赞一个