简单的01背包 可以去记住模板
特别注意: - i 和 j 是怎么循环的 - j 要保证大于等于 那什么 怎样才可以相减
#include <cstdio>
#include <iostream>
#define MAXN 50000 + 1
using namespace std;
int n, m, c, v;
int f[MAXN] = {
0};
int main(){
scanf(
"%d%d", &n, &m);
for (
int i =
1; i <= n; i++)
{
scanf(
"%d%d", &c, &v);
for (
int j = m; j >= c; j--)
f[j] = max(f[j], f[j - c] + v);
}
cout << f[m];
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-677167.html