#include<iostream>
using namespace std;
#define M 1001
#define WMAX( a , b ) a > b ? a : b
int f[M] , w[M] , v[M];
int main()
{
int n , mv;
int t , i , j;
scanf( "%d" , &t );
while( t-- )
{
scanf( "%d %d" , &n , &mv );
for( i = 0 ; i < n ; ++i )
{ scanf( "%d" , &v[i] ); }
for( i = 0 ; i < n ; ++i )
{ scanf( "%d" , &w[i] ); }
memset( f , 0 , sizeof( f ));
for( i = 0 ; i < n ; ++i )
{
for( j = mv ; j >= w[i] ; --j )
{
f[j] = WMAX( f[j] , f[j - w[i]] + v[i] );
}
}
printf( "%d/n" , f[mv] );
}
return 0;
}
DP 01背包 hdu 2602
最新推荐文章于 2019-07-25 19:17:00 发布