求助大佬,50分wa(4,5,7,9,10)
查看原帖
求助大佬,50分wa(4,5,7,9,10)
1275749
zcylanqiao楼主2024/4/1 00:17
/*********************************************************************

*********************************************************************/
#include <iostream>
#include <cmath>
#include <memory.h>
using namespace std;

int s[10], tm[25], dp[1205];

int main() {
	int t = 0, sum = 0;
	for (int i = 1; i <= 4; i++) {
		cin >> s[i];
	}

	for (int i = 1; i <= 4; i++) {
		for (int j = 1; j <= s[i]; j++) {
			cin >> tm[j];
			sum += tm[j];
		}

		for (int a = 1; a <= s[i]; a++) {
			for (int b = 1; b <= sum / 2; b++) {
				if (b >= tm[a]) {
					dp[b] = max(dp[b], dp[b - tm[a]] + tm[a]);
				}
			}
		}
		t += sum - dp[sum / 2];
		sum = 0;
		memset(dp, 0, sizeof(dp));
	}

	cout << t;
	return 0;
}

2024/4/1 00:17
加载中...