对数组a[l]~a[r]进行累加x(可为负)的操作:
#include<bits/stdc++.h>
#define MAXN 100005
using namespace std;
int n,m,l[MAXN],r[MAXN],d,a[MAXN];
int main()
{
memset(a,0,sizeof(a));
memset(l,0,sizeof(l));
memset(r,0,sizeof(r));
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++)
{
scanf("%d%d%d",&l[i],&r[i],&d);
a[l[i]]+=d;
a[r[i]+1]-=d;
}
for(int i=1;i<=n;i++)
a[i]+=a[i-1];
return 0;
}