题目描述
解法:完全背包问题
#include <bits/stdc++.h>
using namespace std;
const int maxm = 10010, maxt = 10000010;
long long v[maxm], t[maxm], dp[maxt];
int main(){
int T , M;
cin >> T >> M;
for(int i = 1;i <= M ;i ++) cin >> t[i] >> v[i];
for(int i = 1;i <= M;i ++){
for(int j = t[i];j <= T;j ++){
dp[j] = max(dp[j],dp[j - t[i]] + v[i]);
}
}
cout << dp[T];
}