#include<iostream>
using namespace std;
const int N=1e5+10;
int n,m;
int a[N],b[N];
void insert (int l,int r,int c)
{
b[l]+=c;
b[r+1]-=c;//注意是r+1
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=n;i++) insert(i,i,a[i]);//初始差分b[]数组
while(m--)
{
int l,r,c;
scanf("%d%d%d",&l,&r,&c);
insert(l,r,c);//进行加法操作
}
for(int i=1;i<=n;i++) b[i]+=b[i-1];//注意是加上 b[i-1]
for(int i=1;i<=n;i++) printf("%d ",b[i]);
return 0;
}
给区间[l, r]中的每个数加上c:B[l] += c, B[r + 1] -= c