明显的完全背包
AC代码如下

#include<bits/stdc++.h>
using namespace std;
int m,n;
int p[10005],t[10005],dp[10005];

int main()
{
    scanf("%d%d",&m,&n);
    for(int i=1;i<=n;i++) scanf("%d%d",&p[i],&t[i]);
    for(int i=1;i<=n;i++)
    {
        for(int j=t[i];j<=m;j++)
            dp[j]=max(dp[j],dp[j-t[i]]+p[i]);
    }
    printf("%d",dp[m]);
    return 0;
}

完全背包模板

    for(int i=1;i<=n;i++)
    {
        for(int j=v[i];j<=m;j++)
            dp[j]=max(dp[j],dp[j-v[i]]+w[i]);
    }

其中v是体积,w是价值。