nyoj-311-完全背包

#include
int a[50002];
int main()
{
    int s,m,v,c,w,i,j;
    scanf("%d",&s);
    while(s--)
    {
        scanf("%d%d",&m,&v);
       for(i=1;i<=v;i++)
       a[i]=-10000000;
        a[0]=0;
        for(i=0;i         {
            scanf("%d%d",&c,&w);
            for(j=c;j<=v;j++)
            a[j]=a[j]>a[j-c]+w?a[j]:a[j-c]+w;
        }
        if(a[v]>0)
        printf("%d\n",a[v]);
        else
        printf("NO\n");
    }
    return 0;
}
       

你可能感兴趣的:(nyoj-311-完全背包)