0分求调,找不到逻辑问题了
查看原帖
0分求调,找不到逻辑问题了
1491628
tyl123456789楼主2025/1/12 19:58
#include<bits/stdc++.h>
using namespace std;
const int e=1e5;
int dp[3*e+5][30];
int v[3*e+5];
int w[e*3+5];

int main() {
	int n, m;
	cin >> n >> m;
	for (int i = 1; i <= m; i++){
		cin >> v[i] >> w[i];
		w[i] *= v[i];
	}
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			dp[i][j]=dp[i-1][j];
			if(j>=v[i])dp[i][j]=max(dp[i][j],dp[i-1][j-v[i]]+w[i]);
		}
	}
	cout << dp[m][n];
	return 0;
}
2025/1/12 19:58
加载中...