#include <iostream>
using namespace std;
int main() {
int n,q;cin>>n>>q;
int a,c;long long b[n];
cin>>a;b[0]=a;
for(int i=1;i<n;i++){
cin>>c;
b[i]=c-a; //记录每个数与前一个数的差值即为差分
a=c;
}
while(q--){
int l,r,d;cin>>l>>r>>d;
b[l-1]+=d;b[r]-=d;//重点!!!对区间进行加减操作等效于对该区间的差分数组的首部加d
//并对尾部后一个的位置减d
}long long ans=b[0];cout<<ans<<" ";
for(int i=1;i<n;i++){
ans+=b[i]; //还原差分数组即为答案
cout<<ans<<" ";
}
}

京公网安备 11010502036488号