有些无法理解
查看原帖
有些无法理解
457543
xyc2815楼主2022/1/17 17:09

用一维数组来解这道题,m最大为10^4,那按我这样的写法应该开个10^4大小的数组就行了呀,偏偏最后两个re,就是要开道10^7才给我过,无法理解。

#include<iostream>
using namespace std;
long long m, t, v, w, dp[40005] = { 0 };
int main() {
	
	cin >> m >> t;
	for (int i = 0; i < t; i++) {
		cin >> w >> v;
		for (int j = w; j <= m; j++)
			dp[j] = max(dp[j], dp[j - w] + v);
	}
	cout << dp[m] << endl;
	return 0;
}
2022/1/17 17:09
加载中...