#P1963. 2024.8.30-KDXF-第1题-塔子哥的资源锁

2024.8.30-KDXF-第1题-塔子哥的资源锁

题目内容

已知塔子哥有nn份资源,编号为1,2,...n1,2,...,n初始均处于未上锁状态。

mm次操作,每一次操作给出一个编号pp,如果pp所对应的资源未上锁,则为其上锁;否则,解除锁,使其回到未上锁状态;

每一次操作之后,塔子哥都希望分别统计闭区间[1,x][1,x][y,n][y,n]中可访问的资源数量。

这里规定,一个资源可访问,当且仅当其处于未上锁状态。

输入描述

本题为多组测试数据,第一行输入一个正整数T(1T1000)T(1≤T≤1000)代表测试数据的组数。

对于每组测试数据,第一行输入四个正整数

n,m,x,y(1n2×105;1m4×105;1x,yn)n,m,x,y(1≤n≤2×10^5; 1≤m≤4×10^5; 1≤x,y≤n),依次代表资源数量,操作次数,以及两个闭区间范围的边界。

接下去mm行,每行输入一个正整数p(1pn)p(1≤p≤n),代表对编号为PP的资源进行操作。

题目保证,所有测试数据的nn之和不会超过2×1052×10^5mm之和不会超过4×1054×10^5

输出描述

对于每一个操作,一行输出两个整数,第一个整数代表闭区间[1,x][1,x]中可访问的资源数量;第二个整数代表闭区间[y,n][y,n]中可访问的资源数量。

示例1

输入

2
4 3 2 3
2
3
3
6 6 4 2
1
3
6
4
4
2

输出

1 2
1 1
1 2
3 5
2 4
2 3
1 2
2 3
1 2

说明

yy表示资源上锁,nn表示资源未上锁。

以第一组测试数据为例:

第一次操作后,资源上锁情况为:nynnn,y,n,n,可以发现,区间[1,2][1,2]中只有编号11可访问,而区间[3,4][3,4]均未上锁,所以输出11 22

第二次操作后,资源上锁情况为:nyynn,y,y,n,可以发现,区间[1,2][1,2]情况不变,区间[3,4][3,4]中只剩下编号44可访问,所以输出11 11

第三次操作,将资源33解锁,重新回到了第一次操作后的状态,因此输出与第一次操作后的输出相同,输出11 22