zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

腾讯马拉松-减肥记I-hdu4508

2023-03-14 10:17:47 时间
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define max(x,y) x>y?x:y;
int v[100001];
int w[100001];
int dp[100001];
int main()
{
    int n,m;
   // freopen("input.txt","r",stdin);
    while(scanf("%d",&n)!=EOF)
    {
        memset(dp,0,sizeof(dp));
        for(int i=1; i<=n; i++)
            scanf("%d%d",&v[i],&w[i]);
        scanf("%d",&m);
        for(int i=1; i<=n; i++)
            for(int j=w[i]; j<=m; j++)
                dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
        printf("%d\n",dp[m]);
    }
    return 0;
}
完全背包模板题