From 3c080ad360c3d960444c908f00cc46a216929dd8 Mon Sep 17 00:00:00 2001 From: zinnnn37 <102711874+zinnnn37@users.noreply.github.com> Date: Fri, 30 Jan 2026 22:15:35 +0900 Subject: [PATCH] =?UTF-8?q?[20260130]=20BOJ=20/=20G5=20/=20=EA=B0=9C?= =?UTF-8?q?=EB=98=A5=EB=B2=8C=EB=A0=88=20/=20=EA=B9=80=EB=AF=BC=EC=A7=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...34\353\230\245\353\262\214\353\240\210.md" | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 "zinnnn37/202601/30 BOJ G5 \352\260\234\353\230\245\353\262\214\353\240\210.md" diff --git "a/zinnnn37/202601/30 BOJ G5 \352\260\234\353\230\245\353\262\214\353\240\210.md" "b/zinnnn37/202601/30 BOJ G5 \352\260\234\353\230\245\353\262\214\353\240\210.md" new file mode 100644 index 00000000..3fdf5d9c --- /dev/null +++ "b/zinnnn37/202601/30 BOJ G5 \352\260\234\353\230\245\353\262\214\353\240\210.md" @@ -0,0 +1,64 @@ +```java +import java.io.*; +import java.util.StringTokenizer; + +public class BJ_3020_개똥벌레 { + + private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + private static StringTokenizer st; + + private static int N, H; + private static int[] stalactite, stalagmite, prefix1, prefix2; + + public static void main(String[] args) throws IOException { + init(); + sol(); + } + + private static void init() throws IOException { + st = new StringTokenizer(br.readLine()); + N = Integer.parseInt(st.nextToken()); + H = Integer.parseInt(st.nextToken()); + + stalactite = new int[H + 2]; + stalagmite = new int[H + 2]; + for (int i = 0; i < N / 2; i++) { + stalagmite[Integer.parseInt(br.readLine())] += 1; + stalactite[H - Integer.parseInt(br.readLine()) + 1] += 1; + } + + prefix1 = new int[H + 2]; + for (int i = 1; i <= H; i++) { + prefix1[i] += prefix1[i - 1] + stalactite[i]; + } + + prefix2 = new int[H + 2]; + for (int i = H; i > 0; i--) { + prefix2[i] += prefix2[i + 1] + stalagmite[i]; + } + } + + private static void sol() throws IOException { + int cnt = 0; + int sum = 0; + int min = Integer.MAX_VALUE; + for (int i = 1; i <= H; i++) { + sum = prefix1[i] + prefix2[i]; + + if (sum == min) { + cnt++; + } + if (sum < min) { + min = sum; + cnt = 1; + } + } + bw.write(min + " " + cnt); + bw.flush(); + bw.close(); + br.close(); + } + +} +```