#628. 工作日

工作日

题目描述

Alex高中毕业了,他现在是大学新生。虽然他学习编程,但他还是要上体育课,这对他来说完全是一个意外。快要期末了,但是不幸的Alex的体育学分还是零蛋!

Alex可不希望被开除,他想知道到期末还有多少天的工作日,这样他就能在这些日子里修体育学分。但是在这里计算工作日可不是件容易的事情:

从现在到学期结束还有 nn 天(从 11nn 编号),他们一开始都是工作日。接下来学校的工作人员会依次发出 qq 个指令,每个指令可以用三个参数 l,r,kl,r,k 描述:

  • 如果 k=1k=1,那么从 llrr (包含端点)的所有日子都变成工作日。

  • 如果 k=2k=2,那么从 llrr (包含端点)的所有日子都变成工作日

帮助Alex统计每个指令下发后,剩余的工作日天数。

输入格式:

第一行一个整数 nn,第二行一个整数 qq (1n109,  1q5105)(1\le n\le 10^9,\;1\le q\le 5\cdot 10^5),分别是剩余的天数和指令的个数。

接下来 qq 行,第 ii 行有 33 个整数 li,ri,kil_i,r_i,k_i,描述第 ii 个指令 (1li,rin,  1k2)(1\le l_i,r_i\le n,\;1\le k\le 2)

输出格式:

输出 qq 行,第 ii 行表示第 ii 个指令被下发后剩余的工作日天数。

输入输出样例

输入样例 #1
4
6
1 2 1
3 4 1
2 3 2
1 3 2
2 4 1
1 4 2
输出样例 #1
2
0
2
3
1
4

submit