A84810.午枫的排队

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

已知小午和小枫的队伍中有 nn 个人,给这 nn 个人编号 1n1\sim n ,对每个人进行一次询问,编号 ii 的人会回答一个数字 aia_i

  • 如果 ai=1a_i=-1 ,表示第 ii 个人排在队头;
  • 如果 ai1a_i \neq -1 ,表示第 ii 个人站在第 aia_i 个人的后面。

请输出队列中从前到后每个人的编号。

输入格式

第一行输入一个正整数 nn (1n3×105)(1\leq n\leq 3\times 10^5) ,表示队伍中的人数。

第二行输入 nn 个整数 aia_i (ai=1(a_i=-11ain,aii)1\leq a_i\leq n,a_i\neq i) ,表示第 ii 个人的回答,保证数据中 ai=1a_i=-1 恰好有 11 个。

输出格式

输出一行 nn 个整数,表示队列中从前到后的人的编号。

输入输出样例

  • 输入#1

    6
    4 1 -1 5 3 2

    输出#1

    3 5 4 1 2 6

说明/提示

从前到后,依次为第 33、第 55、第 44、第 11、第 22、第 66 个人时,与给定信息一致。实际上:

  • 11 个人站在第 44 个人的正后方。
  • 22 个人站在第 11 个人的正后方。
  • 33 个人站在队列最前面。
  • 44 个人站在第 55 个人的正后方。
  • 55 个人站在第 33 个人的正后方。
  • 66 个人站在第 22 个人的正后方。

可以确认与给定信息一致。因此,请按顺序输出 3,5,4,1,2,63, 5, 4, 1, 2, 6,用空格分隔。

首页