

import java.util.Collections;
import java.util.PriorityQueue;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
PriorityQueue<Integer> plusPq = new PriorityQueue<>(Collections.reverseOrder());
PriorityQueue<Integer> minusPq = new PriorityQueue<>();
int zero = 0;
int one = 0;
for (int i = 0; i < N; i++) {
int num = sc.nextInt();
if (num == 0) zero++;
else if (num == 1) one++;
else if (num > 1) plusPq.add(num);
else minusPq.add(num);
}
int result = 0;
while (plusPq.size() > 1) {
int n1 = plusPq.remove();
int n2 = plusPq.remove();
result += n1 * n2;
}
if (!plusPq.isEmpty()) {
result += plusPq.remove();
}
while (minusPq.size() > 1) {
int n1 = minusPq.remove();
int n2 = minusPq.remove();
result += n1 * n2;
}
if (!minusPq.isEmpty()) {
if (zero == 0) {
result += minusPq.remove();
}
}
result += one;
System.out.println(result);
}
}
'Coding Test > 백준' 카테고리의 다른 글
[백준/자바] 1541 - 잃어버린 괄호 (0) | 2023.08.08 |
---|---|
[백준/자바] 1931 - 회의실 배정 (0) | 2023.08.08 |
[백준/자바] 1715 - 카드 정렬하기 (0) | 2023.08.08 |
[백준/자바] 11047 - 동전 0 (0) | 2023.08.08 |
[백준/자바] 1300 - K번째 수 (0) | 2023.08.07 |