这题太裸
就是从后向前一个一个填,一种一种的填
拿出来他的重量,加进去他的价值
#include<iostream>
#include<cmath>
#include<queue>
#include<algorithm>
#include<cstdlib>
using namespace std;
int dp[12881];
int zhi[3403];
int zhong[3403];
int main()
{
int n, m;
cin >> n >> m;
for (int a = 1;a <= n;a++)cin >> zhong[a] >> zhi[a];
int sum = 0;
for (int a = 1;a <= n;a++)
{
for (int b = m;b >= 0;b--)
{
if (b - zhong[a] >= 0)
{
dp[b] = max(dp[b], dp[b - zhong[a]] + zhi[a]);
sum = max(sum, dp[b]);
}
}
}
cout << sum << endl;
return 0;
}