AT_nikkei2019_final_d Deforestation

题目描述

有 $N$ 根竹子,编号从 $1$ 到 $N$。初始时,所有竹子的高度是 $0$,时间每过一秒,每根竹子的高度增加 $1$。 有 $M$ 个砍伐计划,第 $i$ 个计划在 $T_i$ 时,将砍掉编号在 $L_i$ 和 $R_i$ 之间的竹子。当竹子砍下时高度为 $x$ 时,会得到 $x$ 的竹子。被砍掉的竹子高度将变为 $0$,之后还会生长。 求可以得到多少竹子。

输入格式

第一行两个整数 $N$ 和 $M$。 接下来 $M$ 行,每行三个整数 $T_i,L_i,R_i$。

输出格式

输出一个整数,表示得到的竹子的长度的总和。

说明/提示

### 样例一解释 在第一个计划执行的时刻 $2$,每根竹子的高度分别是 $2, 2, 2, 2$。砍伐第 $1$ 和第 $2$ 根竹子后,竹子的高度变为 $0, 0, 2, 2$。 在第二个计划执行的时刻 $5$,每根竹子的高度分别是 $3, 3, 5, 5$。砍伐第 $2$ 和第 $3$ 根竹子后,竹子的高度变为 $3, 0, 0, 5$。 两次事件中砍伐的竹子高度分别为 $2, 2, 3, 5$,因此总和为 $12$,这就是答案。 ### 数据范围 对于所有测试数据,保证 $1 \leq N \leq 2 \times 10^5$,$1 \leq M \leq 2 \times 10^5$,$1 \leq T_1 \leq T_2 \leq⋯ \leq T_M \leq 10^9$,$1 \leq L_i \leq R_i \leq N$,所有输入值均为整数。 翻译者 [xyx404](https://www.luogu.com.cn/user/1123573)。