求助,样例没过,最普通的完全背包
查看原帖
求助,样例没过,最普通的完全背包
378195
icaijy楼主2023/2/22 18:26

悬赏一关注

#include <iostream>
#define ll long long
#define maxn 10005
using namespace std;

int w[maxn],c[maxn];
int f[maxn][maxn];

int main(){
	int n,m;
	cin >> m >> n;
	for (int i=1;i<=n;i++) cin >> w[i] >> c[i];
	for (int i=1;i<=n;i++){
		for (int j=1;j<=m;j++){
			for (int k=1;k<=m/c[i];k++){
				if (k*c[i]<=j) f[i][j]=max(f[i-1][j],f[i-1][j-k*c[i]]+k*w[i]);
				else f[i][j]=f[i-1][j];
			}
		}
	}
	cout << f[n][m];
	
} 
2023/2/22 18:26
加载中...