#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5 + 4;
int num[N] = { 0 };
int diff[N] = { 0 };
signed main() {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int n, q; cin >> n >> q;
for (int i = 1; i <= n; i++) {
cin >> num[i];
}
//维护num的差分数组
for (int i = 1; i <= n; i++) {
diff[i] = num[i] - num[i - 1];
}
//改变区间值
while (q--) {
int l, r, c;
cin >> l >> r >> c;
diff[l] += c;
diff[r + 1] -= c;
}
//对差分数组做前缀和
for (int i = 1; i <= n; i++) {
diff[i] += diff[i - 1];
cout << diff[i] << " \n"[i == n];
}
return 0;
}
差分--区间修改
于 2024-01-29 18:58:46 首次发布