通过insert的函数一个一个的插入数,其实就是可以实现原数列的赋值
#include <iostream>
using namespace std;
const int N = 100010;
int a[N], b[N];
void insert(int l, int r, int c)
{
b[l] += c;
b[r + 1] -= c;
}
int main()
{
int m, n, x, l, r, c;
scanf("%d%d", &n, &m);
for(int i = 1; i <= n; i ++ )
{
scanf("%d", &x);
insert(i, i, x);
}
while(m -- )
{
scanf("%d%d%d", &l, &r, &c);
insert(l, r, c);
}
for(int i = 1; i <= n; i ++ )
a[i] = a[i - 1] + b[i];
for(int i = 1; i <= n; i ++ )
printf("%d ", a[i]);
}