#include #include #include #include #include #include #include int n; void max_heapify(long long int arr[],int i,int n1) { int left=2*i; int right=2*i+1;int largest; if(left<=n1&&arr[left]=1;i--) { max_heapify(arr,i,n); } } void heap_sort(long long int arr[]) { int heap_size=n; build_maxheap(arr);int i; for(i=n;i>=2;i--) { long long int temp=arr[i]; arr[i]=arr[1]; arr[1]=temp; heap_size=heap_size-1; max_heapify(arr,1,heap_size); } } int main(){ scanf("%d",&n); long long int a[100002];int a_i; for(a_i = 1; a_i <=n; a_i++){ scanf("%lld",&a[a_i]); } heap_sort(a); /*for( a_i = 1; a_i <=n; a_i++){ printf("%lld",a[a_i]); }*/ long long int val=0; long long int min=999999999999999;int i; for(i=1;i<=n;i++) { val+=pow(2,(i-1))*a[i]; } printf("%lld\n",val); // your code goes here return 0; }