【模板】差分
题号:NC226303
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}对于给定的长度为 n 的数组 \{a_1,a_2,\dots,a_n\} ,我们有 m 次修改操作,每一次操作给出三个参数 l,r,k ,代表将数组中的 a_l,a_{l+1},\dots,a_r 都加上 k
\hspace{15pt}请你直接输出全部操作完成后的数组。

输入描述:

\hspace{15pt}第一行输入两个整数 n,m \left( 1 \leqq n,m \leqq 10^5\right) 代表数组中的元素数量、操作次数。
\hspace{15pt}第二行输入 n 个整数 a_1,a_2,\dots,a_n \left( -10^9 \leqq a_i \leqq 10^9 \right) 代表初始数组。
\hspace{15pt}此后 m 行,每行输入三个整数 l,r,k \left( 1 \leqq l \leqq r \leqq n;\ -10^9 \leqq k \leqq 10^9\right) 代表一次操作。

输出描述:

\hspace{15pt}在一行上输出 n 个整数,代表全部操作完成后的数组。
示例1

输入

复制
3 2
1 2 3
1 2 4
3 3 -2

输出

复制
5 6 1

备注:

\hspace{15pt}在几乎全部的情况下,\sf PyPy 的运行速度优于 \sf Python ,我们建议您选择对应版本的 \sf PyPy 进行提交、而不是 \sf Python