希望得到大佬解答:
#include<bits/stdc++.h>
using namespace std;
long long q1[10000007],q2[10000007],n,h1=1,h2=1,r1,r2,ans,a1,a2;
int main()
{
cin>>n;
int m=n;
for(int i=1;i<=n;i++)
{
cin>>q1[i];
}
sort(q1+1,q1+n+1);
r1=n;
while(h1<=r1)
{
if(h2>r2)
{
q2[++r2]=q1[h1]+q1[++h1];
h1++;
ans+=q2[r2];
}
else
{
int a[5]={0,0,0,0,0};
for(int i=1;i<=2;i++)
{
if(q1[h1]>q2[h2])
{
a[i]=q1[h1];
h1++;
}
else
{
a[i]=q2[h2];
h2++;
}
}
q2[++r2]=a[1]+a[2];
ans+=a[1]+a[2];
}
}
cout<<ans;
return 0;
}