• Source
    1. #include<stdio.h>
    2. #include<iostream>
    3. #include<queue>
    4. #include<algorithm>
    5. #define inf 0x3f3f3f3f
    6. using namespace std;
    7.  
    8. priority_queue<int>pq;
    9.  
    10. int main()
    11. {
    12. long n,i,a,num1,num2,num3;
    13. long long sum;
    14.  
    15. while(scanf("%ld",&n)&&n)
    16. {
    17. for(i=0;i<n;i++)
    18. {
    19. scanf("%ld",&a);
    20. pq.push(a*(-1));
    21. }
    22.  
    23. sum=0;
    24.  
    25.  
    26. for(i=0;i<n-1;i++)
    27. {
    28. num1=pq.top();
    29. pq.pop();
    30.  
    31. num2=pq.top();
    32. pq.pop();
    33.  
    34. num3=(num1*(-1))+(num2*(-1));
    35.  
    36. sum+=num3;
    37. pq.push(num3*(-1));
    38.  
    39. }
    40. pq.pop();
    41.  
    42. cout<<sum<<endl;
    43.  
    44. }
    45.  
    46. return 0;
    47. }