全re!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
查看原帖
全re!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1056929
leyitianzun楼主2024/1/22 14:08
#include<bits/stdc++.h>
using namespace std;
int q[4],t[21][21],w,i,Kimi,Meno[2];
vector<int> qwe;
int dfs(int Kimi){
	if(Kimi==0){
		if(q[i]==1)return t[i][1];
		if(q[i]==2){
			return max(t[i][1],t[i][2]);
		}
	}
	else{
		sort(qwe.begin(),qwe.end());
		if(qwe.size()==0){
			return max(Meno[1],Meno[2]);
		}
		sort(Meno+1,Meno+2);
		Meno[1]+=qwe[qwe.size()];
		if(qwe.size()!=0){
			Meno[2]+=qwe[qwe.size()-1];
		}
		return dfs(Kimi+1);
	}
}
int main(){
	cin>>q[1]>>q[2]>>q[3]>>q[4];
	for(int c=1;c<=q[1];c++)cin>>t[1][c];
	for(int c=1;c<=q[2];c++)cin>>t[2][c];
	for(int c=1;c<=q[3];c++)cin>>t[3][c]; 
	for(int c=1;c<=q[4];c++)cin>>t[4][c]; 
	for(i=1;i<=4;i++){
		for(int c=1;c<=q[i];c++){
			int yu=t[i][c];
			qwe.push_back(yu);
		}
		w+=dfs(0);
		qwe.erase(qwe.begin()+qwe.size());
	}
	cout<<w;
 }
2024/1/22 14:08
加载中...