混分(划掉)
有什么问题下方留言,具体问题具体回答...
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e5+5;
const int mod=2147483648;
int w[maxn];//for weight
int val[maxn];//for value
int dp[maxn];
signed main(){
int n,m;cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>w[i]>>val[i];
for(int i=1;i<=n;i++){
for(int j=m;j>=w[i];j--)
dp[j]=max(dp[j],dp[j-w[i]]+val[i]);
}
cout<<dp[m]<<endl;
return 0;
}