3. 完全背包问题
题目链接https://www.acwing.com/problem/content/3/
题目:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<utility>
using namespace std;
pair<int ,int > q[1010];
int f[1010];
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++)
scanf("%d%d",&q[i].first,&q[i].second);
for(int i=0;i<n;i++){
for(int j=q[i].first;j<=m;j++){
f[j]=max(f[j],f[j-q[i].first]+q[i].second);
}
}
cout<<f[m];
return 0;
}