#include <stdio.h> #include <string.h> #define N 1001 int max(int a,int b) { return a>b? a:b; } int main () { int T,f[N],i,j,n,v; int c[N];//重量 int w[N];//价值 scanf("%d",&T); while(T--) { scanf("%d%d",&n,&v); for (i=0;i<n;i++) scanf("%d",w+i); for (i=0;i<n;i++) scanf("%d",c+i); memset(f,0,sizeof(f)); for (i=0;i<n;i++) { for (j=v;j>=c[i];j--)//可能有重量是0的东西 { f[j]=max(f[j],f[j-c[i]]+w[i]); } } printf("%d/n",f[v]); } }