插排10分求助
查看原帖
插排10分求助
549228
Starmoon_dhw楼主2022/11/20 19:06
#include<bits/stdc++.h>
using namespace std;
long long n,a[30005],b[20005],k,ans,t;
int main()
{
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]);
	sort(a+1,a+n+1);
	for(int i=1;i<=n-1;i++) 
	{
		t=a[i]+a[i+1];
		a[i+1]=t;
		ans+=t;
		for(int j=i;j>=1;j--)
		{
			if(t<a[j])
				a[j+1]=a[j];
			else 
			{
				a[j+1]=t;
				break;
			}
		 } 
	}
	cout<<ans<<"\n";
	return 0;
}

2022/11/20 19:06
加载中...