题解 | #【模板】差分#

#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;
}


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

算法常用解题技巧

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务