题目
思路
- 如下图所示

using namespace std;
const int N = 1e5 + 5;
int main() { int n, m; scanf(“%d %d”, &n, &m); int nums[N]; int diff[N]; for (int i = 0; i < n; ++i) { scanf(“%d”, &nums[i]); }
for(int i = 1; i < n; ++i) {diff[i] = nums[i] - nums[i - 1];}diff[0] = nums[0];while (m--) {int l, r, c;scanf("%d %d %d", &l, &r, &c);// 题目中计数从1开始,我从0开始l--;r--;diff[l] += c;diff[r + 1] -= c;}for (int i = 0; i < n; i++) {nums[i] = diff[i] + nums[i - 1];printf("%d ", nums[i]);}return 0;
} ```
