diff --git "a/khj20006/202502/25 BOJ G4 \354\202\254\354\240\204 \354\210\234 \354\265\234\353\214\200 \352\263\265\355\206\265 \353\266\200\353\266\204 \354\210\230\354\227\264.md" "b/khj20006/202502/25 BOJ G4 \354\202\254\354\240\204 \354\210\234 \354\265\234\353\214\200 \352\263\265\355\206\265 \353\266\200\353\266\204 \354\210\230\354\227\264.md" new file mode 100644 index 00000000..0b0a8307 --- /dev/null +++ "b/khj20006/202502/25 BOJ G4 \354\202\254\354\240\204 \354\210\234 \354\265\234\353\214\200 \352\263\265\355\206\265 \353\266\200\353\266\204 \354\210\230\354\227\264.md" @@ -0,0 +1,42 @@ +```cpp + +#include +#include +using namespace std; + +int main() +{ + cin.tie(0)->sync_with_stdio(0); + + int N, M; + cin >> N; + vector A(N); + for (int &i : A) cin >> i; + cin >> M; + vector B(M); + for (int &i : B) cin >> i; + + vector R; + int idxA = 0, idxB = 0; + while (idxA < N && idxB < M) { + bool suc = 0; + for (int x = 100; x >= 1; x--) { + int res = 0; + int new_idxA = idxA, new_idxB = idxB; + for (int i = idxA; i < N; i++) if (A[i] == x) { res++; new_idxA = i + 1; break; } + for (int i = idxB; i < M; i++) if (B[i] == x) { res++; new_idxB = i + 1; break; } + if (res == 2) { + idxA = new_idxA, idxB = new_idxB; + R.push_back(x); + suc = 1; + break; + } + } + if (!suc) break; + } + cout << R.size() << '\n'; + for (int i : R) cout << i << ' '; + +} + +```