2303.Restoration of the Permutation

Time Limit: 1s Memory Limit: 256MB

Let A={a1,a2,...,an} be any permutation of the first n natural numbers {1,2,...,n}. You are given a positive integer k and another sequence B={b1,b2,...,bn}, where bi is the number of elements aj in A to the left of the element at=i such that aj \ge (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={x1,x2,...,xn} and Y={y1,y2,...,yn}, let i-th elements be the first elements such that xi \neq yi. If xi \lt yi, then X is lexicographically smaller than Y, while if xi \gt yi, then X is lexicographically greater than Y.

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

Input Format(From the terminal/stdin)

The first line contains two space separated integers n and k (1 \le n \le 1000, 1 \le k \le n). On the second line are n integers specifying the values of B={b1,b2,...,bn}.

Output Format(To the terminal/stdout)

Print on a single line n integers of A={a1,a2,...,an} such that A is lexicographically minimal. It is guaranteed that the solution exists.

Sample Input 1

Copy
5 2
1 2 1 0 0
 · \n
 · · · · \n

Sample Output 1

Copy
4 1 5 2 3 
 · · · · \n

Sample Input 2

Copy
4 2
1 0 0 0
 · \n
 · · · \n

Sample Output 2

Copy
2 3 1 4 
 · · · \n

Submit

请先 登录

© 2025 FAQs