Time Limit: 1000MS | Memory Limit: 32768KB | 64bit IO Format: %I64d & %I64u |
Description
Input
Output
Sample Input
Sample Output
Source
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <cmath> using namespace std; int T; int n,v; const int N=1E3+5; int a[N],b[N],dp[N]; void ZeroOnePack(int value, int cost) { for ( int i = v ; i >= cost ; i-- ) dp[i] = max(dp[i],dp[i-cost]+value); } int main() { scanf("%d",&T); while ( T-- ) { memset(dp,0,sizeof(dp)); scanf("%d %d",&n,&v); for ( int i = 1; i <= n ; i++ ) scanf("%d",&a[i]); for ( int i = 1 ; i <= n ; i++ ) scanf("%d",&b[i]); for ( int i = 1 ; i <= n ; i++ ) ZeroOnePack(a[i],b[i]); printf("%d\n",dp[v]); } return 0; }
原文:http://www.cnblogs.com/111qqz/p/4392650.html