0分求助
查看原帖
0分求助
1036965
bjqxszx_zhuzixuan楼主2024/5/21 17:04
#include<bits/stdc++.h>
using namespace std;
int a[100111],b[10011],ans,sum,m,now;
void dfs(int x)
{
	if(x>m)
	{
		m=max(m,now);
		return ;
	}
	if(now+a[x]<=ans/2)
	{
		now+=a[x];
		dfs(x+1);
		now-=a[x];
	}	
	dfs(x+1);
}
int main()
{
    cin>>b[1]>>b[2]>>b[3]>>b[4];
    for(int i=1;i<=4;i++)
    {
    	now=0;
    	m=b[i];
    	ans=0;
    	for(int j=i;j<=b[i];j++)
    	{
    	    cin>>a[j];
    		ans+=a[j];
		}
		m=0;
		dfs(1);
		sum+=(ans-m);
	}
	cout<<sum;
	return 0;
}
2024/5/21 17:04
加载中...