#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+10;
int a[N],b[N];
int n,m;
void insert(int l,int r,int c){
b[l] += c;
b[r+1] -= c;
}
int main(){
scanf("%d%d",&n,&m);
for(int i = 1;i<=n;i++){
scanf("%d",&a[i]);
insert(i,i,a[i]);
}
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];
printf("%d ",b[i]);
}
}
一维差分
最新推荐文章于 2024-07-24 15:50:22 发布