eolymp
bolt
Try our new interface for solving problems
Məsələlər

Вставка ключевых значений

Вставка ключевых значений

Вас наняла на работу компания \textit{MacroHard}, чтобы вы разработали новую структуру данных для хранения целых ключевых значений. Эта структура выглядит как массив \textbf{A} бесконечной длины, ячейки которого нумеруются с единицы. Изначально все ячейки пусты. Единственная операция, которую необходимо поддерживать - это операция \textbf{Insert(L, K)}, где \textbf{L} - положение в массиве, а \textbf{K} - некоторое положительное целое ключевое значение. Операция выполняется следующим образом: \begin{itemize} \item Если ячейка \textbf{A\[L\]} пуста, то присвоить \textbf{A\[L\] := K}. \item Если ячейка \textbf{A\[L\]} непуста, выполнить \textbf{Insert(L+1, A\[L\])}, а затем присвоить \textbf{A\[L\] := K}. \end{itemize} По заданной последовательности из \textbf{N} целых чисел \textbf{L_1}, \textbf{L_2}, ..., \textbf{L_N} вам необходимо вывести содержимое этого массива после выполнения следующей последовательности операций: \textbf{Insert(L_1, 1)} \textbf{Insert(L_2, 2)} \textbf{...} \textbf{Insert(L_N, N)} \InputFile В первой строке входного файла содержится \textbf{N} - число операций \textbf{Insert} и \textbf{M} - максимальный номер позиции, которую можно использовать в операции \textbf{Insert}. (\textbf{1} ≤ \textbf{N} ≤ \textbf{131072}, \textbf{1} ≤ \textbf{M} ≤ \textbf{131072}). В следующей строке даны \textbf{N}целых чисел \textbf{L_i}, которые описывают операции \textbf{Insert} (\textbf{1} ≤ \textbf{L_i} ≤ \textbf{M}). \OutputFile Выведите содержимое массива после выполнения данной последовательности операций \textbf{Insert}. На первой строке выведите \textbf{W} - номер последней несвободной позиции в массиве. Далее выведите \textbf{W} целых чисел - \textbf{A\[1\]}, \textbf{A\[2\]}, ...,\textbf{A\[W\]}. Для пустых ячеек выводите нули.
Zaman məhdudiyyəti 2 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
5 4
3 3 4 1 3
Çıxış verilənləri #1
6
4 0 5 2 3 1