https://www.acmicpc.net/problem/1715
- PriorityQueue를 써준다.
- while(PQ.size() != 1)이다.
(A, B로 poll을 두번 해야하기 때문이다.)
import java.util.*;
import java.io.*;
public class Main{
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
PriorityQueue<Integer> PQ = new PriorityQueue<>();
for(int i = 0; i < N; i++){
PQ.add(Integer.parseInt(br.readLine()));
}
int sum = 0;
int result = 0;
while(PQ.size() != 1){
int A = PQ.poll();
int B = PQ.poll();
sum = A + B;
result += sum;
PQ.add(sum);
}
System.out.println(result);
}
}