题目传送门

#include <bits/stdc++.h>

using namespace std;
const int N = 100010;
int n, m;
int a[N], b[N];

/**
 * 功能:差分计算
 * @param l 左边界
 * @param r 右边界
 * @param c 值
 */
void insert(int l, int r, int c) {
    b[l] += c;
    b[r + 1] -= c;
}
int main() {
    cin >> n >> m;
    for (int i = 1; i <= n; i++) cin >> a[i], insert(i, i, a[i]);
    while (m--) {
        int l, r, c;
        cin >> l >> r >> c;
        insert(l, r, c);
    }
    for (int i = 1; i <= n; i++)
        a[i] = a[i - 1] + b[i], printf("%d ", a[i]);
    return 0;
}

相关文章:

  • 2022-01-24
  • 2019-05-25
  • 2021-09-22
  • 2022-02-10
  • 2022-01-28
  • 2021-12-21
  • 2022-12-23
  • 2021-07-31
猜你喜欢
  • 2022-03-02
  • 2021-05-31
  • 2022-01-27
  • 2021-12-20
  • 2022-12-23
  • 2021-08-19
相关资源
相似解决方案