Home => ProblemSet => 3.2-42:[CQOI2011] 动态逆序对
Problem1975--3.2-42:[CQOI2011] 动态逆序对

1975: 3.2-42:[CQOI2011] 动态逆序对

Time Limit: 2 Sec  Memory Limit: 500 MB  Submit: 0  Solved: 19
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

对于序列 a,它的逆序对数定义为集合
{(i, j) ∣ i < j ∧ a> aj}
中的元素个数。
现在给出 1∼n 的一个排列,按照某种顺序依次删除 m 个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。

Input

第一行包含两个整数 n 和 m,即初始元素的个数和删除的元素个数。
以下 n 行,每行包含一个 1∼n 之间的正整数,即初始排列。
接下来 m 行,每行一个正整数,依次为每次删除的元素。

Output

输出包含 m 行,依次为删除每个元素之前,逆序对的个数。

Sample Input Copy

5 4
1
5
3
4
2
5
1
4
2

Sample Output Copy

5
2
2
1

HINT

【数据范围】
对于 100% 的数据,1≤n≤105,1≤m≤50000。
【样例解释】
删除每个元素之前的序列依次为:
1,5,3,4,2
1,3,4,2
3,4,2
3,2

Source/Category