#P0838. 轮转检票

轮转检票

题目描述

星舰检票口前排着一队同学。检票机会进行若干轮操作,直到队伍为空。

第 ii 轮开始时,如果队伍中还有 cntcnt 个人,检票机会先把队首同学移动到队尾,共移动 kik_i 次。随后,当前队首同学完成检票并离开队伍。

给定初始队伍和每一轮的 kik_i,请输出同学们离开的顺序。

输入格式

第一行一个整数 nn,表示同学数量。

第二行 nn 个互不相同的整数,表示初始队伍从队首到队尾的编号。

第三行 nn 个整数 k1,k2,…,knk_1, k_2, \dots, k_n,表示每一轮的移动次数。

输出格式

一行 nn 个整数,表示同学离开的顺序,相邻整数之间用一个空格隔开。

样例

5
10 20 30 40 50
1 2 0 3 1
20 50 10 40 30

样例解释

  • 第 11 轮:移动 11 次,队伍变为 20 30 40 50 10,队首 20 离开。
  • 第 22 轮:当前队伍 30 40 50 10,移动 22 次变为 50 10 30 40,队首 50 离开。
  • 后续轮次同理,最终离开顺序为 20 50 10 40 30。

数据范围

对于 100%100\% 的数据,1≤n≤50001 \le n \le 5000,同学编号范围 1∼1091 \sim 10^9 且互不相同,0≤ki≤1090 \le k_i \le 10^9。