WA求助
查看原帖
WA求助
528867
Paris_Commune楼主2022/4/1 08:55
#include<iostream>
using namespace std;
int s[100005],a[10000005],b[10000005];
unsigned long long sum;
int read(){
    int x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){
		if(ch=='-')f=-1;ch=getchar();
	}
    while(ch>='0'&&ch<='9'){
		x=x*10+ch-'0';ch=getchar();
	}
    return x*f;
}
int main(){
	int j=1,k=1,n,h,w,cnt=1;
	n=read();
	for(int i=1;i<=n;i++){
		h=read();
		s[h]++;
	}
	for(int i=1;i<=100000;i++){
		while(s[i]>0){
			a[k]=i;k++;s[i]--;
		}
	}
	a[k]=1e10+5;k=1;
	for(int i=1;i<=10000000;i++)b[i]=1e10+5;
	for(int i=1;i<n;i++){
		if(a[k]<b[j])w=a[k++];
		else w=b[j++];
		if(a[k]<b[j])w+=a[k++];
		else w+=b[j++];
		b[cnt++]=w;sum+=w;
	}
	cout<<sum;
    return 0;
}
2022/4/1 08:55
加载中...