Manthan 2011 |
---|
Закончено |
Пусть A = {a1, a2, ..., an} — это некоторая перестановка первых n натуральных чисел {1, 2, ..., n}. Вам задано натуральное число k и ещё одна последовательность B = {b1, b2, ..., bn}, где bi — количество элементов aj в A слева от элемента at = i, для которых aj ≥ (i + k).
Например, если n = 5, то A может быть равно {5, 1, 4, 2, 3}. Тогда для k = 2, B равно {1, 2, 1, 0, 0}. Но если k = 3, то B = {1, 1, 0, 0, 0}.
Для двух последовательностей X = {x1, x2, ..., xn} и Y = {y1, y2, ..., yn}, пусть i-ые элементы будут первыми элементами, при которых xi ≠ yi. Если xi < yi, то X лексикографически меньше, чем Y, в то время, как если xi > yi, то X лексикографически больше, чем Y.
Вам даны n, k и B. Вычислите лексикографически наименьшее возможное значение A.
В первой строке записаны через пробел два целых числа n и k (1 ≤ n ≤ 1000, 1 ≤ k ≤ n). Во второй строке записаны n целых чисел, уточняющих значения B = {b1, b2, ..., bn}
Выведите в единственной строке n целых чисел A = {a1, a2, ..., an}, при которых A принимает лексикографически наименьшее возможное значение. Гарантируется, что решение существует.
5 2
1 2 1 0 0
4 1 5 2 3
4 2
1 0 0 0
2 3 1 4
Название |
---|