许诺 • 23天前
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<int> dp(n + 1, 0);
for (int i = 0; i < m; ++i) {
int v, p;
cin >> v >> p;
int value = v * p;
for (int j = n; j >= v; --j) {
dp[j] = max(dp[j], dp[j - v] + value);
}
}
cout << dp[n] << endl;
return 0;
}
评论:
请先登录,才能进行评论