题解 | #【模板】差分#

#include <bits/stdc++.h>
using namespace std;
int n, m;


int main() {
    cin >> n >> m;
    vector<long long> dp(n + 1);
    vector<int> a(n + 10);
    for (int i = 0; i < n; i++)
        cin >> a[i];
    for (int j = 0; j < m; j++) {
        int l, r, k;
        cin >> l >> r >> k;
        dp[l - 1] += k; //题目数组索引从 1开始,所以-1,
        dp[r] -= k;
    }
    long long ans = 0;
    for (int i = 0; i < n; i++) {
        ans += dp[i];
        cout << ans + a[i] << " ";
    }
    return 0;
}


算法常用解题技巧 文章被收录于专栏

算法常用解题技巧

全部评论

相关推荐

11-23 22:07
同济大学 Java
贺兰星辰:你这简历完全可以缩到一页,校园工作、自我评价完全可以删了,没人看的;个人技能可以写多点。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务