系统的“驶出”记录一定正确;“驶入”记录可能缺失或重复。为使容量最小,我们可以尽量忽略所有“+”记录(把它们当成可能的噪声),只在必须时假想有一次“未被记录的驶入”。核心结论与做法如下:
预处理每辆车的首次出现符号 对每个编号 x,找到它在序列中第一次出现是“+x”还是“-x”。
小明的公司停车场最近引入了一个车辆记录系统。当有一个编号为 i 的车驶入时,系统会报告 (+i) 。当编号为 j 的车驶出时,系统会报告 (−j) 。这个系统在某个时刻启动了,并一直记录了连续的一段时间的车辆情况。很遗憾的是,该系统有漏洞,可能会重复或缺失车辆进入的信息,但是车辆驶出的信息绝不会出现错误。现在小明想要通过这份系统的报告来推测,这个停车场的最小容量是多少辆车。注意当停车场满的时候没有车能够驶入。
第一行 1 个整数 T ,表示数据组数。对每组数据:
第一行两个整数 n 和 m ,表示小明从系统中读到的报告总数,和车辆编号最大值。
第二行 n 个整数, a1,a2,...,an ,依次表示从最久远到最近的报告。其中正数前会有 (+),表示车辆驶入,负数表示车辆驶出,含义于题面一致。
1≤t≤5;1≤n,m≤100000;1≤∣ai∣≤m
对于每组数据,输出一行一个数表示答案。
输入
3
3 100
+4 -100 -8
3 1000
-1 +1 -1
3 10
+1 -1 +2
输出
2
1
1
说明
对于第一组样例,完整的记录可能为 (+4 +100 −100 +8 −8),因此最小容量可以推测为 2 ;
对于第二组样例,完整的记录可能为 (+1 −1 +1 −1),因此最小容量可以推测为 1 ;
对于第三组样例,完整的记录可能为 (+1 −1 +2),因此最小容量可以推测为 1 。
本题属于以下题库,请选择所需题库进行购买