我枚举了每个时间下的最大值
#include<iostream>
using namespace std;
long long t,m,t1[10010],w[10010],dp[10000010];
int main(){
cin>>t>>m;
for(int i=1;i<=m;i++){
cin>>t1[i]>>w[i];
}
for(int i=1;i<=t;i++){
for(int j=1;j<=m;j++){
if(i-t1[j]>=0) dp[i]=max((dp[i-t1[j]]+w[j]),dp[i]);
}
}
cout<<dp[t];
}