#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>
using namespace std;
//数组要设的比给的范围稍大一些
int bag[12900];
int w[3410];
int d[3410];
int totalN;
int totalW;
int main()
{
int i,j;
scanf("%d",&totalN);
scanf("%d",&totalW);
for(i=1;i<=totalN;i++)
{
scanf("%d",&w[i]);
scanf("%d",&d[i]);
}
memset(bag,0,sizeof(bag));
for(i=1;i<=totalN;i++){
for(j=totalW;j>=w[i];j--){
if(bag[j]<bag[j-w[i]]+d[i]){
bag[j] = bag[j-w[i]]+d[i];
}
}
}
printf("%d\n",bag[totalW]);
return 0;
}
poj 3624 2018-2-1
最新推荐文章于 2020-03-06 15:47:33 发布