Trộn dãy

Xem PDF

Nộp bài


Điểm: 15 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 512M

Tác giả:
Dạng bài

Cho hai dãy tăng nghiêm ngặt lần lượt có độ dài \(N\) và \(M\): \(A=\left(A_1,A_2,...,A_N\right)\) và \(B=\left(B_1,B_2,...,B_M\right)\). Dữ liệu đảm bảo rằng \(A_i\ne B_j\) với mọi cặp chỉ số \((i,j)\) \((1\le i\le N, 1\le j\le M)\).

Gọi \(C=\left(C_1,C_2,...,C_{N+M}\right)\) là một dãy tăng nghiêm ngặt thu được bằng cách trộn dãy \(A\) và dãy \(B\) với nhau. Ví dụ: nếu \(A=[2,4,6]\) và \(B=[1,3,5,7]\) thì \(C=[1,2,3,4,5,6,7]\).

Bạn hãy viết chương trình xác định vị trí của mỗi phần tử của dãy \(A\) và dãy \(B\) trong dãy \(C\) nhé!

Input
  • Dòng đầu chứa hai số nguyên dương \(N\) và \(M\) \(\left(1\le N,M\le 10^5\right)\).
  • Dòng tiếp theo chứa \(N\) số nguyên dương \(A_1\), \(A_2\),..., \(A_N\) \(\left(1 \le A_1 < A_2 < A_3 < ... < A_N\le 10^9\right)\).
  • Dòng tiếp theo chứa \(M\) số nguyên dương \(B_1\), \(B_2\),..., \(B_M\) \(\left(1 \le B_1 < B_2 < B_3 < ... < B_M\le 10^9\right)\).
  • Dữ liệu đảm bảo \(A_i\ne B_j\) với mọi cặp chỉ số \((i,j)\).
Output
  • In ra hai dòng:
    • Dòng đầu chứa \(N\) số nguyên dương thể hiện lần lượt các vị trí của các phần tử dãy \(A\) trong dãy \(C\).
    • Dòng tiếp theo chứa \(M\) số nguyên dương thể hiện lần lượt các vị trí của các phần tử dãy \(B\) trong dãy \(C\).
Ví dụ
Sample input 01
4 3
3 14 15 92
6 53 58
Sample output 01
1 3 4 7 
2 5 6
Sample input 02
4 4
1 2 3 4
100 200 300 400
Sample output 02
1 2 3 4
5 6 7 8