From e993157f632de202eadf7235a460f673ee163e16 Mon Sep 17 00:00:00 2001 From: Ukj0ng <90972240+Ukj0ng@users.noreply.github.com> Date: Wed, 27 Aug 2025 12:23:19 +0900 Subject: [PATCH] =?UTF-8?q?[20250827]=20BOJ=20/=20G3=20/=20=EB=B9=84?= =?UTF-8?q?=ED=8A=B8=EC=BD=94=EC=9D=B8=EC=9D=80=20=EC=8B=A0=EC=9D=B4?= =?UTF-8?q?=EA=B3=A0=20=EB=82=98=EB=8A=94=20=EB=AC=B4=EC=A0=81=EC=9D=B4?= =?UTF-8?q?=EB=8B=A4=20/=20=ED=95=9C=EC=A2=85=EC=9A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...64\354\240\201\354\235\264\353\213\244.md" | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 "Ukj0ng/202508/27 BOJ G3 \353\271\204\355\212\270\354\275\224\354\235\270\354\235\200 \354\213\240\354\235\264\352\263\240 \353\202\230\353\212\224 \353\254\264\354\240\201\354\235\264\353\213\244.md" diff --git "a/Ukj0ng/202508/27 BOJ G3 \353\271\204\355\212\270\354\275\224\354\235\270\354\235\200 \354\213\240\354\235\264\352\263\240 \353\202\230\353\212\224 \353\254\264\354\240\201\354\235\264\353\213\244.md" "b/Ukj0ng/202508/27 BOJ G3 \353\271\204\355\212\270\354\275\224\354\235\270\354\235\200 \354\213\240\354\235\264\352\263\240 \353\202\230\353\212\224 \353\254\264\354\240\201\354\235\264\353\213\244.md" new file mode 100644 index 00000000..4354cc4a --- /dev/null +++ "b/Ukj0ng/202508/27 BOJ G3 \353\271\204\355\212\270\354\275\224\354\235\270\354\235\200 \354\213\240\354\235\264\352\263\240 \353\202\230\353\212\224 \353\254\264\354\240\201\354\235\264\353\213\244.md" @@ -0,0 +1,53 @@ +``` +import java.io.*; +import java.util.*; + +public class Main { + private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + private static TreeSet[] dp; + private static int[] arr; + private static int N, M; + + public static void main(String[] args) throws IOException { + init(); + DP(); + + bw.write(dp[M].last() + "\n"); + + bw.flush(); + bw.close(); + br.close(); + } + + private static void init() throws IOException { + StringTokenizer st = new StringTokenizer(br.readLine()); + N = Integer.parseInt(st.nextToken()); + M = Integer.parseInt(st.nextToken()); + + arr = new int[N + 1]; + dp = new TreeSet[M + 1]; + + for (int i = 0; i <= M; i++) { + dp[i] = new TreeSet<>(); + } + + st = new StringTokenizer(br.readLine()); + for (int i = 1; i <= N; i++) { + arr[i] = Math.abs(Integer.parseInt(st.nextToken())); + } + } + + private static void DP() { + dp[0].add(0); + for (int i = 1; i <= M; i++) { + for (int j = 1; j <= N; j++) { + for (int val : dp[i - 1]) { + dp[i].add(arr[j] ^ val); + } + } + } + } +} + +```