有没有大佬来帮个忙,为什么这个全部RE了
查看原帖
有没有大佬来帮个忙,为什么这个全部RE了
40968
sishuinianhua楼主2024/10/17 16:56
#include<bits/stdc++.h>
using namespace std;
int DP(int a){
	int s[100],dp[100],t=0;
	memset(s,0,sizeof(s));
	memset(dp,0,sizeof(dp));
	for(int i=1;i<=a;i++){
		cin>>s[i];
		t+=s[i];
	}
	dp[0]=1;
	for(int i=1;i<=a;i++){
		for(int j=t;j>=0;j--){
			if(dp[j]){
				dp[j+s[i]]=1;
			}
		}
	}
	int sum=t,ans;
	for(int i=0;i<=t;i++){
        if(dp[i]&&sum>=abs(i-(t-i))){
            sum=abs(i-(t-i));
            ans=max(i,t-i);
		}
	}
	return ans;
}
int main(){
	int ans=0,s1,s2,s3,s4;
	cin>>s1>>s2>>s3>>s4;
	ans=DP(s1)+DP(s2)+DP(s3)+DP(s4);
	cout<<ans;
	return 0;
}

2024/10/17 16:56
加载中...