题解 | #兑换零钱#

兑换零钱

https://www.nowcoder.com/practice/67b93e5d5b85442eb950b89c8b77bc72

#include <bits/stdc++.h>

using namespace std;
 


int main()
{
    int n,aim;
    scanf("%d %d\n",&n,&aim);
    vector<int> dp(aim+1,INT_MAX-1);
    dp[0] = 0;
    for(int i=0;i<n;i++) {
        int item;
        scanf("%d",&item);
        for(int j=item;j<=aim;j++)
            dp[j] = min(dp[j],dp[j-item]+1);
    } 
    printf("%d\n",dp[aim]==INT_MAX-1? -1:dp[aim]);

    return 0;
}

算法常用解题技巧 文章被收录于专栏

算法常用解题技巧

全部评论

相关推荐

03-09 20:32
技术支持工程师
牛客972656413号:成绩管理系统会不会有点太。。。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务