728x90
https://www.acmicpc.net/problem/1715
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));
PriorityQueue<Long> queue = new PriorityQueue<>();
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
queue.add(Long.parseLong(br.readLine()));
}
long sum = 0;
while (queue.size() > 1) {
long value1 = queue.poll();
long value2 = queue.poll();
sum += value1 + value2;
queue.add(value1+value2);
}
System.out.println(sum);
}
}
회고
- 우선순위 큐를 떠올리지 못해 시간이 조금 걸렸다
- 우선순위 큐를 사용하면 금방 쉽게풀리는 문제였다
'Algorithm Study > BaekJoon (JAVA)' 카테고리의 다른 글
백준 2467_용액_JAVA (1) | 2024.06.02 |
---|---|
백준 19637_IF문 좀 대신 써줘_JAVA (0) | 2024.05.30 |
백준 2470_두 용액_JAVA (0) | 2024.05.19 |
백준 16234_인구 이동_JAVA (0) | 2024.05.05 |
백준 1918_후위 표기식_JAVA (0) | 2024.04.29 |