代码如下
#include<iostream>
using namespace std;
int dp[1000][100000];
int w[200],v[200];
int main()
{
int t,m;
cin>>t>>m;
for(int i=1;i<=m;++i)
{
cin>>w[i]>>v[i];
}
for(int i=1;i<=m;++i)
{
for(int j=t;j>=0;--j)
{
if(j>=w[i])
{
dp[i][j]=max(dp[i-1][j-w[1]]+v[i],dp[i-1][j]);
}
else
{
dp[i][j]=dp[i-1][j];
}
}
}
cout<<dp[m][t];
return 0;
}