From 3f16539ffc37d73f2784019821e1d53d99a003df Mon Sep 17 00:00:00 2001 From: JHLEE325 <82587652+JHLEE325@users.noreply.github.com> Date: Tue, 28 Oct 2025 08:10:01 +0900 Subject: [PATCH] =?UTF-8?q?[20251028]=20BOJ=20/=20G5=20/=20=EC=A3=BC?= =?UTF-8?q?=EC=82=AC=EC=9C=84=20/=20=EC=9D=B4=EC=A4=80=ED=9D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5 \354\243\274\354\202\254\354\234\204.md" | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 "JHLEE325/202510/28 BOJ G5 \354\243\274\354\202\254\354\234\204.md" diff --git "a/JHLEE325/202510/28 BOJ G5 \354\243\274\354\202\254\354\234\204.md" "b/JHLEE325/202510/28 BOJ G5 \354\243\274\354\202\254\354\234\204.md" new file mode 100644 index 00000000..347a28ed --- /dev/null +++ "b/JHLEE325/202510/28 BOJ G5 \354\243\274\354\202\254\354\234\204.md" @@ -0,0 +1,55 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st; + + long N = Long.parseLong(br.readLine()); + long[] d = new long[6]; + st = new StringTokenizer(br.readLine()); + for (int i = 0; i < 6; i++) { + d[i] = Long.parseLong(st.nextToken()); + } + + if (N == 1) { + long sum = 0, maxv = 0; + for (int i = 0; i < 6; i++) { + sum += d[i]; + if (d[i] > maxv) maxv = d[i]; + } + System.out.println(sum - maxv); + return; + } + + long min1 = Long.MAX_VALUE; + for (int i = 0; i < 6; i++) min1 = Math.min(min1, d[i]); + + long min2 = Long.MAX_VALUE; + for (int i = 0; i < 6; i++) { + for (int j = i + 1; j < 6; j++) { + if (i + j == 5) continue; + min2 = Math.min(min2, d[i] + d[j]); + } + } + int[][] corners = { + {0, 1, 2}, {0, 1, 3}, {0, 4, 2}, {0, 4, 3}, + {5, 1, 2}, {5, 1, 3}, {5, 4, 2}, {5, 4, 3} + }; + long min3 = Long.MAX_VALUE; + for (int[] c : corners) { + long sum = d[c[0]] + d[c[1]] + d[c[2]]; + if (sum < min3) min3 = sum; + } + + long res = 0; + res += 4 * min3; + res += (8 * N - 12) * min2; + res += (5 * N * N - 16 * N + 12) * min1; + + System.out.println(res); + } +} +```