样例过了,但全WA,求调
查看原帖
样例过了,但全WA,求调
1801177
Chen1118楼主2025/7/26 09:02
#include<bits/stdc++.h>
using namespace std;
int s1,s2,s3,s4,ans=0,u,sum=0;
int a[30];
void dfs(int z){
	if(u==1){
		ans=a[1];
		return;
	}
	else if(u==2){
		ans=max(a[1],a[2]);
		return;
	}
	if(z==u){
		ans+=a[z];
		return;
	}
	ans+=min(a[z+1],a[z]);
	a[z+1]=abs(a[z]-a[z+1]);
	dfs(z+1);
}
bool cmp(int a,int b){
	return a>b;
}
int main(){
	cin>>s1>>s2>>s3>>s4;
	for(int i=1;i<=4;i++){
		memset(a,0,sizeof(a));
		ans=0;
		u=0;
		if(i==1) u=s1;
		else if(i==2) u=s2;
		else if(i==3) u=s3;
		else if(i==4) u=s4;
		for(int j=1;j<=u;j++){
			cin>>a[j];
		}
		if(i==1) sort(a+1,a+s1+1);
		else if(i==2) sort(a+1,a+s2+1,cmp);
		else if(i==3) sort(a+1,a+s3+1,cmp);
		else if(i==4) sort(a+1,a+s4+1,cmp);
//		for(int j=1;j<=u;j++){
//			cout<<a[j]<<" ";
//		}
//		cout<<endl;
		dfs(1);
		sum+=ans;
	}
	cout<<sum;
	return 0;
} 
2025/7/26 09:02
加载中...