#G5002. [GESP样题 五级] 小杨的队列

[GESP样题 五级] 小杨的队列

题目描述

小杨的班级里共有 NN 名同学,学号从 00N1N-1

某节课上,老师要求同学们进行列队。老师会依次点名 MM 名同学,让他们加入队伍。

每名新入队的同学需要先站到队伍末尾。随后,队伍中的所有同学需要按照身高从低到高重新排序。若有多名同学身高相同,则他们之间的相对顺序任意。

为了完成排序,同学们可以进行若干次交换操作。每次交换可以选择队伍中的任意两名同学,让他们交换位置。

例如,当前队伍中有 44 名同学,学号依次为:

10,17,3,2510,17,3,25

如果让 33 号同学和 1010 号同学交换位置,则队伍变为:

3,17,10,253,17,10,25

这算作一次交换。

对于老师的每一次点名,请你计算:新同学加入队伍末尾后,在当前队伍顺序的基础上,最少需要进行多少次交换,才能使整个队伍按照身高从低到高排列。

输入格式

第一行输入一个整数 NN,表示同学的数量。

第二行输入 NN 个正整数,依次表示学号为 0,1,,N10,1,\ldots,N-1 的同学的身高。

第三行输入一个整数 MM,表示老师点名的次数。

接下来 MM 行,每行输入一个整数 xx,表示学号为 xx 的同学加入队伍。

保证该同学此前不在队伍中。

输出格式

输出 MM 行。

ii 行输出一个整数,表示第 ii 次点名后,最少需要进行多少次交换,才能使当前队伍按照身高从低到高排列。

样例

5
170 165 168 160 175
4
0
3
2
1
0
1
1
2
4
20 20 20 10
4
0
1
2
3
0
0
0
1

数据范围

对于所有测试数据:

1MN20001 \le M \le N \le 2000

每名同学的身高均为不超过 21474836472147483647 的正整数。

每次点名满足:

0x<N0 \le x < N

保证每名被点名的同学此前不在队伍中。

对于 5050% 的测试数据,保证所有同学的身高互不相同。