```
#include <bits/stdc++.h>
long long minPenalty( vector<int> & arr){
// Write your code here.
long long ans=0;
int n=arr.size();
// priority_queue<long long>q;
priority_queue<long long,vector<long long>,greater<long long>>q;
vector<int>temp;
for(auto i:arr)
{
q.push(i);
}
while(q.size()>1)
{
long long n1=q.top();
q.pop();
long long n2=q.top();
q.pop();
ans+=n1+n2;
q.push(n1+n2);
// temp.push_back(sum);
}
// for(int i=0;i<temp.size();i++)
// {
// ans+=temp[i];
// }
return ans;
}
```