#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int n, m;
int a[N], b[N];
/**
* 功能:差分计算
* @param l 左边界
* @param r 右边界
* @param c 值
*/
void insert(int l, int r, int c) {
b[l] += c;
b[r + 1] -= c;
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i], insert(i, i, a[i]);
while (m--) {
int l, r, c;
cin >> l >> r >> c;
insert(l, r, c);
}
for (int i = 1; i <= n; i++)
a[i] = a[i - 1] + b[i], printf("%d ", a[i]);
return 0;
}
相关文章
- 09-30Easy Equation【差分+前缀和】
- 09-30AcWing 456. 车站分级 (虚拟节点优化二分图边数、拓扑序、差分约束、最长路)
- 09-30LOTO示波器_差分电流模块 i01 实测mA电流波形
- 09-30POJ1201 Intervals差分约束系统(最短路)
- 09-30[CSP-S模拟测试]:stone(结论+桶+前缀和+差分)
- 09-30北京区域赛I题,Uva7676,A Boring Problem,前缀和差分
- 09-30Acwing-121-赶牛入圈(二分, 二维前缀和,离散化)
- 09-30sift高斯差分函数泰勒展开的理解f(x)=f(x0)+f‘(x0)*(x-x0)+1/2*f‘’(x0)*(x-x0)^2
- 09-30ZOJ4028 LIS(差分约束)
- 09-30AcWing 98. 分形之城