정수 배열 A=[a1,a2,…,an]과 B=[b1,b2,…,bm]이 주어진다. A와 B의 k-join은 길이가 k인 배열 중 사전순으로 가장 작은 배열 R이다. R은 비어 있지 않은 두 부분수열로 나눌 수 있는데, 첫 번째는 A의 부분수열이고 두 번째는 B의 부분수열이다.
형식적으로는 다음 조건을 만족하는 R=[r1,r2,…,rk]를 찾아야 한다. 비어 있지 않은 인덱스 수열 1≤i1,1<i1,2<…<i1,t≤n과 1<j1,1<j1,2<…<j1,k−t≤m이 있고, 인덱스 수열 1≤i2,1<i2,2<…<i2,t≤k와 1≤j2,1<j2,2<…<j2,k−t≤k가 있어서 다음이 성립해야 한다.
- 모든 1≤p≤t, 1≤q≤k−t에 대해 i2,p=j2,q이다.
- 모든 1≤p≤t에 대해 ai1,p=ri2,p이다.
- 모든 1≤p≤k−t에 대해 bj1,p=rj2,p이다.
예를 들어 A=[1,2,1,3,1,2,1], B=[1,2,3,1], k=9이면 k-join은 R=[1,1,1,1,2,1,2,3,1]이다(첫 번째 배열에서 온 부분수열은 [1,1,1,2,1], 두 번째 배열에서 온 부분수열은 [1,2,3,1]).
주어진 두 배열 A, B와 정수 k에 대해 k-join R을 구하라.