Mike and Foam
题号:NC229623
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

MikeRico酒吧的调酒师。在Rico酒吧,他们将啤酒杯放在一个特殊的架子上。在Rico酒吧,有n种啤酒编号从1n。第i瓶啤酒上面有 毫升的泡沫。

MaximMike的老板。今天他让Mike回答q个查询。最初架子是空的。在每个操作中,Maxim给他一个编号X。如果编号为X的啤酒已经在架子上,那么Mike应该从架子上取下它,否则他应该把它放在架子上。

每次询问后,Mike应该告诉他架子的分数。他们认为货架的分数是满足并且的数对(i,j)的个数。

Mike现在很累。所以他请你帮他处理这些操作。

输入描述:

第一行输入包含数字nq),不同种类的啤酒数量和查询次数。
下一行包含n个由空格分隔的整数,( ),表示各种啤酒顶部的泡沫量。
接下来q行一行包含一个查询。每个查询一个整数X),表示应从货架上添加或移除的啤酒的编号。

输出描述:

对于每一个查询,用一行输出对应的答案。
示例1

输入

复制
5 6
1 2 3 4 6
1
2
3
4
5
1

输出

复制
0
1
3
5
6
2

备注:

原题链接:https://codeforces.com/problemset/problem/547/C