11849. Видалити та перемістити
Вам задано послідовність \(P = (p_1,p_2,\ldots,p_N)\), яка містить \(1,2, \dots,N\) рівно один раз кожне. Ви можете виконувати наступні операції від 0 до \(K\) разів у будь-якому порядку:
Виберіть один елемент \(P\) і видаліть його.
Перенесіть останній член \(P\) на початок послідовності.
Знайдіть лексикографічно найменшу \(P\), яку можна отримати в результаті таких операцій.
Обмеження
- \(1 \leq N \leq 2 \times 10^5\)
- \(0 \leq K \leq N-1\)
- \(1 \leq p_i \leq N\)
- \((p_1,p_2,\ldots,p_N)\) містить \(1,2,\ldots,N\) рівно один раз кожне.
- Усі значення у вхідних даних є цілими числами.
Формат вхідних даних
Перший рядок містить цілі числа \(N,K\)
Наступний рядок містить \(N\) цілих чисел \(p_i\)
Числа у рядках розділяються пропуском.
Формат вихідних даних
У вихідний потік виведіть через пробіл лексикографічно найменшу \(P\), яку можна отримати в результаті виконання операцій.
Примітка
До прикладу 1:
Наступні операції роблять \(P\) рівним (1,2,3).
- Якщо вилучити перший член, \(P\) дорівнює (5,2,3,1).
- Перенесення останнього члена на початок робить \(P\) рівною (1,5,2,3).
- Видалення другого члена робить \(P\) рівною (1,2,3).
Немає способу отримати \(P\) лексикографічно меншою, ніж (1,2,3).
Приклад вхідних даних
5 3
4 5 2 3 1
Приклад вихідних даних
1 2 3
Приклад вхідних даних
3 0
3 2 1
Приклад вихідних даних
3 2 1
Приклад вхідних даних
15 10
12 10 7 2 8 11 9 1 6 14 3 15 13 5 4
Приклад вихідних даних
1 3 4 7 2 8 11 9
Коментарі