#B1417. 动态安全牌查询

动态安全牌查询

【题目描述】

有 mm 种牌,数字分别为 11 到 mm。

对手的牌河初始为空。

若某种牌上的数字为 xx,并且数字 x−3x-3 或 x+3x+3 的牌至少有一张出现在对手牌河中,则称数字 xx 的牌比较安全。

接下来有 qq 次操作,每次向牌河加入或移出一张牌。

牌河中可以有多张数字相同的牌。

请在每次操作后输出当前有多少种牌比较安全。


【输入描述】

第一行输入两个整数 m,qm,q。

接下来 qq 行,每行输入两个整数 op,numop,num:

  • op=1 表示向牌河加入一张数字为 numnum 的牌。
  • op=2 表示从牌河移出一张数字为 numnum 的牌。

保证:

  • 1≤m≤1061\le m\le 10^6;
  • 1≤q≤1051\le q\le 10^5;
  • 1≤num≤m1\le num\le m;
  • opop 只可能为 11 或 22;
  • 当 op=2op=2 时,保证操作前牌河中至少有一张数字为 numnum 的牌。

【输出描述】

输出 qq 行,第 ii 行表示第 ii 次操作后,mm 种牌中有多少种比较安全。


【样例 1】

【样例 1 输入】

10 5
1 4
1 10
1 4
2 4
2 4

【样例 1 输出】

2
2
2
2
1

【样例 2】

【样例 2 输入】

6 4
1 3
1 6
2 3
2 6

【样例 2 输出】

1
2
1
0

【数据规模与约定】

测试点编号 分数 特殊性质
1 ~ 3 30 m,q≤2000m,q\le 2000
4 ~ 10 70 m≤106m\le 10^6,q≤105q\le 10^5