hud1248寒冰王座一维数组

典型完全背包问题
这个是模板,最好记一下

#include<stdio.h>
#include<string.h>
int dp[10000];
int max(int a,int b)
{
    return a>b?a:b;
}
int main(void){
    int money,n,i,k,y,j,value[3]={150,200,350},times;
scanf("%d",&times);memset(dp,0,sizeof(dp));
for(n=1;n<=times;n++)
{
     scanf("%d",&money);
    for(i=1;i<=3;i++)
    {
        for(j=value[i-1];j<=money;j++)
        {

                dp[j]=max(dp[j],dp[j-value[i-1]]+value[i-1]);



        }
    }


    printf("%d\n",money-dp[money]);
}

    return 0;
}


发布了11 篇原创文章 · 获赞 0 · 访问量 133

猜你喜欢

转载自blog.csdn.net/weixin_45670020/article/details/104163630