hdu 4508 完全背包模版二维

#include<stdio.h>
#include<string.h>
int v[102],s[102],ans[100002];
int main()
{
    int a;
    while(~scanf("%d",&a)&&a)
    {
        int i,j;
        memset(ans,0,sizeof(ans));
        for(i=1;i<=a;i++)
        scanf("%d%d",&v[i],&s[i]);
        int m;
        scanf("%d",&m);
        for(i=1;i<=a;i++)
        {
            for(j=s[i];j<=m;j++)
            if(ans[j-s[i]]+v[i]>ans[j])
            ans[j]=ans[j-s[i]]+v[i];
        }
        printf("%d\n",ans[m]);
    }
    return 0;
}

你可能感兴趣的:(hdu 4508 完全背包模版二维)