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\]}. Для пустых ячеек выводите нули.
Giriş verilənləri #1
5 4 3 3 4 1 3
Çıxış verilənləri #1
6 4 0 5 2 3 1