P1060 开心的金明
裸的01背包 , 给的钱数为背包的容量 价值为物品价值*好感度 重量为物品的价格
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5+10;
int w[MAXN], v[MAXN];
int dp[MAXN];
int main(int argc, char const *argv[])
{
int n, m;
cin >> n >> m;
for(int i = 1; i <= m; i++) {
cin >> w[i] >> v[i];
v[i] *= w[i];
}
for(int i = 1; i <= m; i++) {
for(int j = n; j >= w[i]; j--) {
dp[j] = max(dp[j], dp[j-w[i]]+v[i]);
}
}
cout << dp[n] << endl;
return 0;
}