题解 | #[NOIP2001]装箱问题#动态规划

[NOIP2001]装箱问题

https://www.nowcoder.com/practice/55100a6608ad4656849dbd1f16d044cb

#include <bits/stdc++.h>
using namespace std;
int V,n;
int dp[50][20000];
int v[50];
int main()
{
    cin>>V>>n;
    for(int i=1;i<=n;i++)
        cin>>v[i];
    for(int i=1;i<n+1;i++)
    {
        for(int j=1;j<=V;j++)
        {
            if(j>=v[i])
                dp[i][j]=max(dp[i-1][j],dp[i-1][j-v[i]]+v[i]);
            else
            dp[i][j]=dp[i-1][j];
        }
    }
    cout<<V-dp[n][V];
    return 0;
}

全部评论

相关推荐

积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务