上代码:
#include<iostream>
#include<stdio.h>
#define int short
using namespace std;
int w[3405],val[3405];
int dp[3405][12885];
signed main()
{
int t,m,res=-1;
cin >> m >> t;
for(int i=1;i<=m;i++)
{
cin >> w[i] >> val[i];
}
for(int i=1;i<=m;i++)
for(int j=t;j>=0;j--)
{
if(j>=w[i])
{
dp[i][j]=max((int)(dp[i-1][j-w[i]]+val[i]),(int)(dp[i-1][j]));
}
else
{
dp[i][j]=dp[i-1][j];
}
}
cout << dp[m][t] << endl;
}
记录