典型背包问题;
感觉二维能过,who know ,一直没过;
好吧,改成以为了;

#include<bits/stdc++.h>
using namespace std;
#define int long long
int t,m,tim[300],v[300],dp[1010];
signed main()
{
    cin>>t>>m;
    for(int i=1;i<=m;i++) cin>>tim[i]>>v[i];
    for(int i=1;i<=m;i++)
    {
        for(int j=t;j>=1;j--)//倒序,因为在更新j之前的数是上一次的值,更新j需要利用前一个物品的值
        {
            if(j>=tim[i]) dp[j]=max(dp[j],dp[j-tim[i]]+v[i]);
        }
    }
    cout<<dp[t];
}