fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main(){
  5. priority_queue<int> q;
  6. int t;
  7. cin>>t;
  8. while(t--){
  9. long long int n;
  10. cin>>n;
  11. long long int arr[n];
  12. for(long long int i=0;i<n;i++) cin>>arr[i];
  13. priority_queue< long long int, vector<long long int> ,greater<long long int> > q;
  14. long long int ans=0;
  15. for(long long int i=0;i<n;i++){
  16. q.push(arr[i]);
  17. if(q.size()>2){
  18. long long int x = q.top(); q.pop();
  19. long long int y = q.top(); q.pop();
  20. ans+=(x+y);
  21. q.push(x+y);
  22. }
  23. }
  24. long long int a= q.top(); q.pop();
  25. long long int b= q.top(); q.pop();
  26. ans+=(a+b);
  27. cout<<ans<<"\n";
  28. }
  29. }
Success #stdin #stdout 0s 4508KB
stdin
Standard input is empty
stdout
Standard output is empty