错那了?
查看原帖
错那了?
1105630
220218SZC楼主2024/3/21 13:16
#include<bits/stdc++.h>
using namespace std;
long long e[1005],d[3]={0};
int main()
{
int a;
long long b[1005],c=0;
cin>>a;
for(int i=1;i<=a;i++){
	cin>>b[i];
	c+=b[i];
}
while(c>0){
	for(int i=1;i<=2;i++){
		long long MAXN=0,MINN=1e16+1,f,g;
		for(int j=1;j<=a;j++){
			if(e[j]==1){
				continue;
			}
			if(d[i]>b[j]&&MAXN<b[j]){
				MAXN=b[j];
				f=j;
			}
			if(MINN>b[j]){
				MINN=b[j];
				g=j;
			}
		}
		if(MAXN==0){
			d[i]+=MINN;
			c-=MINN;
			e[g]=1;
		}
		else{
			d[i]+=MAXN;
			c-=MAXN;
			e[f]=1;
		}
		if(c<=0){
			cout<<d[1]<<" "<<d[2];
			return 0;
		}
	}
}
cout<<d[1]<<" "<<d[2];
return 0;	
} 
2024/3/21 13:16
加载中...