on
백준 1655번
백준 1655번
-
좋아요
원본 : https://www.acmicpc.net/problem/1655
풀이
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Comparator; import java.util.PriorityQueue; public class Main { public static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); public static BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out)); public static void main(String[] args) throws Exception { int n = Integer.parseInt(reader.readLine()); PriorityQueue leftPq = new PriorityQueue(new Comparator() { @Override public int compare(Integer o1, Integer o2) { return o2 - o1; } }); PriorityQueue rightPq = new PriorityQueue(new Comparator() { @Override public int compare(Integer o1, Integer o2) { return o1 - o2; } }); for (int i = 1; i <= n; i++) { int input = Integer.parseInt(reader.readLine()); if (i % 2 == 0) { leftPq.add(input); } else { rightPq.add(input); } if (leftPq.peek() != null && rightPq.peek() != null) { int leftTop = leftPq.peek(); int rightTop = rightPq.peek(); if (leftTop > rightTop) { leftPq.remove(); rightPq.remove(); leftPq.add(rightTop); rightPq.add(leftTop); } } if (i % 2 == 0) { writer.write(leftPq.peek() + "
"); } else { writer.write(rightPq.peek() + "
"); } } writer.flush(); } }
from http://abc1q2w3e4r.tistory.com/210 by ccl(A) rewrite - 2021-11-08 11:28:04