Manthan 2011
B
Restoration of the Permutation
Codeforces
1800
原题
← AC →
翻译中…

Let $*A* = {*a*_{1}, *a*_{2}, ..., *a*_{*n*}}$ be any permutation of the first $*n*$ natural numbers ${1, 2, ..., *n*}$. You are given a positive integer $*k*$ and another sequence $*B* = {*b*_{1}, *b*_{2}, ..., *b*_{*n*}}$, where $*b*_{*i*}$ is the number of elements $*a*_{*j*}$ in $*A*$ to the left of the element $*a*_{*t*} = *i*$ such that $*a*_{*j*} ≥ (*i* + *k*)$.

翻译中…

For example, if $*n* = 5$, a possible $*A*$ is ${5, 1, 4, 2, 3}$. For $*k* = 2$, $*B*$ is given by ${1, 2, 1, 0, 0}$. But if $*k* = 3$, then $*B* = {1, 1, 0, 0, 0}$.

翻译中…

For two sequences $*X* = {*x*_{1}, *x*_{2}, ..., *x*_{*n*}}$ and $*Y* = {*y*_{1}, *y*_{2}, ..., *y*_{*n*}}$, let $*i*$-th elements be the first elements such that $*x*_{*i*} ≠ *y*_{*i*}$. If $*x*_{*i*} < *y*_{*i*}$, then $*X*$ is lexicographically smaller than $*Y*$, while if $*x*_{*i*} > *y*_{*i*}$, then $*X*$ is lexicographically greater than $*Y*$.

翻译中…

Given $*n*$, $*k*$ and $*B*$, you need to determine the lexicographically smallest $*A*$.

翻译中…

Input

翻译中…

The first line contains two space separated integers $*n*$ and $*k*$ ($1 ≤ *n* ≤ 1000$, $1 ≤ *k* ≤ *n*$). On the second line are $*n*$ integers specifying the values of $*B* = {*b*_{1}, *b*_{2}, ..., *b*_{*n*}}$.

翻译中…

Output

翻译中…

Print on a single line $*n*$ integers of $*A* = {*a*_{1}, *a*_{2}, ..., *a*_{*n*}}$ such that $*A*$ is lexicographically minimal. It is guaranteed that the solution exists.

翻译中…

样例

Input #1
5 2
1 2 1 0 0
Output #1
4 1 5 2 3
InputCopy OutputCopy
Input #2
4 2
1 0 0 0
Output #2
2 3 1 4
InputCopy OutputCopy
题目信息
题号
67B
所属比赛
时间限制
1 s
内存限制
256 MB
标签
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。