为什么会re?
查看原帖
为什么会re?
678478
StSnow楼主2022/4/4 11:44

萌新提问:

为什么两次的一样代码会一次ac,一次re(虽然不是完全一样) 附上代码

#include <iostream>
using namespace std;
int main() {
	int n, m, arr[31]={0}, * dp;
	cin >> m >> n;
	dp = new int[m];
	for (int i = 0; i < n; i++) cin >> arr[i];
	dp[0] = 1; dp[arr[0]] = 1;
	for (int i = 1; i < n; i++) {
		for (int j = m-1 ; j >= 0; j--) {
			if (dp[j - arr[i]] == 1) dp[j] = 1;
		}
	}
	for (int i = m-1 ; i >= 0; i--) {
		if (dp[i] == 1) {
			cout << m - i << endl;
			return 0;
		}
	}
	return 0;
}

第二次的时候把第dp的大小new成 m+1 就会re这是为什么???,真心发问,求教dalao。

2022/4/4 11:44
加载中...