题解:
#include<bits/stdc++.h>
using namespace std;
const int N = 5e5+10;
long long num[N];//存方灯的数组
long long ans[N];//定义差分数组
int main()
{
int n,q;
cin>>n>>q;
for(int i = 1;i<=n;i++) cin>>num[i];
for(int i = 1;i<=n;i++) ans[i] = num[i] - num[i-1];
while(q--){
int l,r,x;
cin>>l>>r>>x;
ans[l] += x;
ans[r+1] -= x;
}
for(int i = 1;i<=n;i++){
cout<<max(ans[i]+num[i-1],0ll)<<' ';
num[i] = ans[i]+num[i-1];
}
return 0;
}