eolymp
bolt
Try our new interface for solving problems
Problems

Минимальная перестановка

Минимальная перестановка

Дано натуральное число \textbf{n} и неотрицательные целые числа \textbf{k_1}, \textbf{k_2}, ..., \textbf{k_n} такие, что \textbf{k_1} + \textbf{2k_2} + ... + \textbf{nk_n} = \textbf{n}. \includegraphics{https://static.e-olymp.com/content/a0/a01d6fe5baf86fd274dfc5600a30f76cc672dd3c.jpg} Требуется построить лексикографически минимальную перестановку чисел от \textbf{1} до \textbf{n}, у которой \textbf{k_1} циклов длины \textbf{1}, \textbf{k_2} циклов длины \textbf{2}, ..., \textbf{k_n} циклов длины \textbf{n} в ее разложении на непересекающиеся циклы. Перестановка \textbf{x=(x_1, x_2, ..., x_n)} лексикографически меньше перестановки \textbf{y=(y_1, y_2, ..., y_n)}, если найдется такое \textbf{i} \textbf{\{1, 2, ..., n\}}, что \textbf{x_j} =\textbf{ y_j} при \textbf{1} ≤ \textbf{j} < \textbf{i} и \textbf{x_i} < \textbf{y_i}. \InputFile В первой строке входного файла задано натуральное число \textbf{n} ≤ \textbf{10^5}. Во второй строке заданы через пробел неотрицательные целые числа \textbf{k_1}, \textbf{k_2}, ..., \textbf{k_n} такие, что \textbf{k_1}+\textbf{2k_2}+...+\textbf{nk_n}=\textbf{n}. \OutputFile В единственную строку выходного файла выведите через пробел \textbf{n} чисел: элементы искомой перестановки.
Time limit 1 second
Memory limit 64 MiB
Input example #1
5
2 0 1 0 0
Output example #1
1 2 4 5 3