50分 4,5,7,9,10WA
查看原帖
50分 4,5,7,9,10WA
576690
ztyx楼主2024/4/25 20:39

救救孩子

#include <bits/stdc++.h>
using namespace std;

int s[5],sum[5];
int t[5][25];
int dp[5][2505];


int main()
{
	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 >> t[i][j];
		sum[i]+=t[i][j];
	}
	
	for(int i=1;i<=4;i++)
	{	
		dp[i][0]=1;
		for(int j=1;j<=s[i];j++)
		for(int k=1;k<=sum[i]/2;k++)
		{
			if(k-t[i][j]>=0)
			dp[i][k]=max(dp[i][k-t[i][j]],dp[i][k]);
		}
	}
	
	int SUM=0;
	for(int i=1;i<=4;i++)
	{
		for(int k=sum[i]/2;k>=0;k--)
		{
			if(dp[i][k]) 
			{	
				SUM+=sum[i]-k;
				break;
			}
		}
	}

	cout << SUM;
	return 0;
}
2024/4/25 20:39
加载中...