TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P4396
  • 题目
  • P4396站军姿
    限制 : 时间限制 : - MS   空间限制 : - KB
    评测说明 : 时限1s,空限256m
    问题描述

          NK中学高一新入校的同学正在进行军训。有n名同学在操场上站成一排练习站军姿。为了便于管理,教官在训练开始时,按照从左到右的顺序给学生从 1 到 n 编上了号码。

          然而在练习军姿的时候,经常会有学生因为各种各样的事情(比如上厕所、中暑等)需要离队。在一天中,一共发生了m件这样的离队事件。每一次离队事件可以用数字x(1≤x≤n)来描述,表示左起第x个学生离队。

          在有学生离队后,队伍中出现了一个空位。为了队伍的整齐,教官会依次下达 这样的一条指令:

          向左看齐,所有学生向左填补空缺。不难发现在这条指令之后,空位就出现在了第 n个位置。

         教官规定不能有两个或更多学生同时离队。即在前一个离队的学生归队之后, 下一个学生才能离队。因此在每一个离队的学生要归队时,队伍中有且仅有第n个位置上的一个空位,这时这个学生会自然地填补到这个位置。
         

          现在想要你计算每一次离队事件中,离队的同学 的编号是多少。

          注意:每一个同学的编号不会随着离队事件的发生而改变,在发生离队事件后队列中同学的编号可能是乱序的。

    输入格式

    第一行,两个整数n和m
    第二行,m个空格间隔的整数,依次表示每次离队时间发生的位置。

    输出格式

    一行,m个空格间隔的整数,依次表示每次离队事件离队的学生的编号

    样例输入 1

    10 7
    3 1 2 10 4 3 5

    样例输出 1

    3 1 4 4 7 6 10

    样例输入 2

    20 10
    7 2 7 6 18 19 4 10 15 19

    样例输出 2

    7 2 9 8 2 8 5 15 7 15

    提示

    1<=n<=100,000,000
    1<=m<=100,000


    来源  改编自NOIP2017 队列