12053. Обʼєднати послідовності
Вам задано строго зростаючі послідовності довжини \(N\) і \(M\): \(A=(A_1 ,A_2 ,…,A_N )\) і \(B=(B_1 ,B_2 ,…,B_M )\). Тут \(A_i \neq B_j\) для кожного \(i\) та \(j\) \((1≤i≤N,1≤j≤M)\).
Нехай \(C=(C_1 ,C_2 ,…,C_{N+M} )\) — строго зростаюча послідовність довжини \(N+M\), яка є результатом наступної процедури.
- Нехай \(C\) — конкатенація \(A\) і \(B\). Формально нехай \(C_i =A_i\) для \(i=1,2,…,N\), і \(C_i =B_{i−N}\) для \(i=N+1,N+2, …,N+M\).
- Відсортуйте \(C\) у порядку зростання.
Для кожного з \(A_1 , A_2 ,…, A_N , B_1 , B_2 ,…, B_M\) знайдіть його позицію в \(C\). Більш формально, для кожного \(i=1,2,…,N\), знайдіть \(k\) таке, що \(C_k =A_i \) , і для кожного \(j=1,2,…,M\) знайдіть \(k\) таке, що \(C_k =B_j \).
Обмеження
- \(1≤N,M≤10^5\)
- \(1≤A_1 <A_2 <⋯<A_N ≤10^9\)
- \(1≤B_1 <B_2 <⋯<B_M ≤10^9\)
- \(A_i \neq B_j\) для кожного \(i\) та \(j\) \((1≤i≤N,1≤j≤M)\).
- Усі значення у вхідних даних є цілими числами.
Формат вхідних даних
Перший рядок містить цілі числа \(N,M\).
Наступний рядок містить \(N\) цілих чисел \(A_i\).
Наступний рядок містить \(M\) цілих чисел \(B_i\).
Формат вихідних даних
У вихідний потік відповідь вивести у два рядки.
Перший рядок має містити позиції \(A_1 , A_2 ,…, A_N\) у \(C\), з пробілами між ними.
Другий рядок має містити позиції \(B_1 , B_2 ,…, B_M\) у \(C\) з пробілами між ними.
Приклад вхідних даних
4 3
3 14 15 92
6 53 58
Приклад вихідних даних
1 3 4 7
2 5 6
C буде (3,6,14,15,53,58,92). Тут 1-й, 3-й, 4-й, 7-й елементи з A=(3,14,15,92), а 2-й, 5-й, 6-й елементи з B =(6,53,58).
Приклад вхідних даних
4 4
1 2 3 4
100 200 300 400
Приклад вихідних даних
1 2 3 4
5 6 7 8
Приклад вхідних даних
8 12
3 4 10 15 17 18 22 30
5 7 11 13 14 16 19 21 23 24 27 28
Приклад вихідних даних
1 2 5 9 11 12 15 20
3 4 6 7 8 10 13 14 16 17 18 19
Коментарі