#B4047. [语言月赛 202410] 校门外的施工

[语言月赛 202410] 校门外的施工

题目描述

某校大门外有 mm 棵树,从左到右编号依次为 1,2,,m1,2,\ldots, m。同时,第 ii 棵树和第 i+1i+1 棵树中间有一片草坪。树和草坪统称绿化。

接下来按时间顺序发生了 nn 次施工,分为两种:

  • 1 l r\texttt{1}\ l\ r,一次施工破坏了第 ll 棵树和第 rr 棵树之间(不含这两棵树)的所有绿化。
  • 2 l r\texttt{2}\ l\ r,一次施工破坏了第 ll 棵树和第 rr 棵树之间(包含这两棵树)的所有绿化。

请计算 nn 次施工结束后,还剩下几棵树、几片草坪没有被破坏。

输入格式

输入的第一行有两个正整数 m,nm,n,分别表示树的数量和施工的次数。

之后有 nn 行,每行格式形如 1 l r\texttt{1}\ l\ r2 l r\texttt{2}\ l\ r,表示一次施工。

输出格式

输出一行两个整数,表示答案。其中第一个整数表示剩下几棵树,第二个整数表示剩下几片草坪。

6 2
2 2 3
2 4 6

1 2

6 3
1 1 3
2 2 4
2 4 5

2 1

6 3
1 1 2
2 3 4
1 2 3

4 2

提示

【样例 1 解释】

下面用一张表格来表示所有绿化的存活情况,其中 + 表示存活,- 表示被破坏。

树的编号 1 草坪 2 草坪 3 草坪 4 草坪 5 草坪 6
第一次施工后 + - + +
第二次施工后 -

我们发现 编号为 11 的树被剩下,并且 1,21,2 之间的草坪、3,43,4 之间的草坪被剩下。

【样例 2 解释】

使用类似的办法记录所有绿化的情况。

树的编号 1 草坪 2 草坪 3 草坪 4 草坪 5 草坪 6
第一次施工后 + - + + +
第二次施工后 -
第三次施工后 -

剩下第 1,61,6 棵树和第 5,65,6 棵树中间的草坪。

【数据范围】

本题共有 1010 个测试点,每个 1010 分。

测试点 1,21,2 保证 n=1n=1

测试点 353\sim 5 保证剩余草坪数为 00

测试点 6,76,7 保证只有第一种类型的施工。

对于所有测试点,保证 1m,n50001\le m,n\le 5000,并且对于每次操作,保证 1l<rm1\le l<r\le m