20分求助QAQ
查看原帖
20分求助QAQ
1105622
zjj1007楼主2024/3/14 13:19
#include<bits/stdc++.h>
using namespace std;
long long n,f,b,I[10101010],F,B;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++){
    	cin>>I[i];
	}
	sort(I+1,I+n+1);
    for(int j=1;j<=n;j++){
    	for(int i=n;i>=1;i--){
		    if(I[i]<=f&&I[i]>0){
			    f+=I[i];
			    I[i]-=I[i];
			    F++;
            i=0;
			}
    	}
	if(F!=1){
		for(int f1=1;f1<=n;f1++){
			if(I[f1]>f){
				f+=I[f1];
				I[f1]-=I[f1];
				f1=0;
			}
		}
	}
		    F--;
    	for(int i=n;i>=1;i--){
	    	if(I[i]<=b&&I[i]>0){
		    	b+=I[i];
			    I[i]-=I[i];
			    B++;
		    i=0;
			}
    	}
	if(B!=1){
		for(int b1=1;b1<=n;b1++){
			if(I[b1]>b){
				b+=I[b1];
				I[b1]-=I[b1];
			    b1=0;
			}
		}
	}
			    B--;
	}
	cout<<f<<" "<<b;
}
2024/3/14 13:19
加载中...