12053. Обʼєднати послідовності


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Вам задано строго зростаючі послідовності довжини \(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

Коментарі

Ще немає коментарів.