Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
Statistical Charts
Submit Problem
Online Status
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Key Insertion
Time Limit: 10000MSMemory Limit: 65536K
Total Submissions: 2374Accepted: 553
Case Time Limit: 2000MS


As an employee of the Macrohard Company, you have been asked to implement the new data structure that would be used to store some integer keys.
The keys must be stored in a special ordered collection that can be considered as an array A, which has an infinite number of locations, numbered starting from 1. Initially all locations are empty. The following operation must be supported by the collection: Insert(L, K), where L is the location in the array and K is some positive integer value.
The operation must be processed as follows:
  • If A[L] is empty, set A[L] ← K.
  • If A[L] is not empty, perform Insert(L + 1, A[L]) and after that set A[L] ← K.

Given N integer numbers L1 , L2 , . . . , LN you have to output the contents of the array after a sequence of the following operations:
Insert(L1 , 1)
Insert(L2 , 2)
. . .
Insert(LN , N)


The first line of the input file contains N --- the number of Insert operations and M --- the maximal position that can be used in the Insert operation (1 <= N <= 131 072, 1 <= M <= 131 072).
Next line contains N integer numbers L i that describe Insert operations to be performed (1 <= Li <= M ).


Output the contents of the array after a given sequence of Insert operations. On the first line print W --- the number of the greatest location that is not empty. After that output W integer numbers --- A[1], A[2], . . . , A[W ]. Output zeroes for empty locations.

Sample Input

5 4
3 3 4 1 3

Sample Output

4 0 5 2 3 1


Northeastern Europe 2003, Northern Subregion

[Submit]   [Go Back]   [Status]   [Discuss]

Home Page   Go Back  To top

All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator