| 比赛 | 
    板子大赛 | 
    评测结果 | 
    AAAAAAAAAA | 
    | 题目名称 | 
    区间修改 | 
    最终得分 | 
    100 | 
    | 用户昵称 | 
    长安惊龙灵松 | 
    运行时间 | 
    0.424 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    3.62 MiB  | 
    | 提交时间 | 
    2025-01-22 14:55:39 | 
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=10005;
int n,m,a[N],b[N],l,r,x,sum;
signed main()
{
    freopen("interval_mod.in","r",stdin);
    freopen("interval_mod.out","w",stdout);
    scanf("%lld",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%lld",&a[i]);
        b[i]=a[i]-a[i-1];
    }
    scanf("%lld",&m);
    for(int i=1;i<=m;i++)
    {
        scanf("%lld%lld%lld",&l,&r,&x);
        b[l]+=x,b[r+1]-=x;
    }
    for(int i=1;i<=n;i++)
    {
        sum+=b[i];
        printf("%lld ",sum);
    }
    return 0;
}
//#include<bits/stdc++.h>
//#define int long long
//using namespace std;
//const int N=1e4+5;
//int n,m,a[N],d[N<<2],lazy[N<<2],l,r,x;
//void build(int k,int l,int r)
//{
////    printf("%d %d",l,r);system("pause");
//    if(l==r)
//    {
//        d[k]=a[l];
//        return;
//    }
//    int mid=l+r>>1;
//    build(k<<1,l,mid);
//    build(k<<1|1,mid+1,r);
//    d[k]=d[k<<1]+d[k<<1|1];
//}
//void lan(int k,int l,int r,int v)
//{
//    d[k]+=(r-l+1)*v;
//    lazy[k]+=k;
//}
//void pushdown(int k,int l,int r,int mid)
//{
//    if(lazy[k]==0) return;
//    lan(k<<1,l,mid,lazy[k]);
//    lan(k<<1|1,mid+1,r,lazy[k]);
//    lazy[k]=0;
//}
//int query_sum(int k,int l,int r,int x,int y)
//{
//    if(l>=x&&r<=y) return d[k];
//    if(r<x||l>y) return 0;
//    int mid=l+r>>1;
//    pushdown(k,l,r,mid);
//    return query_sum(k<<1,l,mid,x,y)+query_sum(k<<1|1,mid+1,r,x,y);
//}
//void update(int k,int l,int r,int x,int y,int v)
//{
//    if(l>=x&&r<=y)
//    {
//        lan(k,l,r,v);
//        return;
//    }
//    int mid=l+r>>1;
//    pushdown(k,l,r,mid);
//    if(mid>=x) update(k<<1,l,mid,x,y,v);
//    if(mid<y)  update(k<<1|1,mid+1,r,x,y,v);
//    d[k]=d[k<<1]+d[k<<1|1];
//}
//signed main()
//{
////    freopen("interval_mod.in","r",stdin);
////    freopen("interval_mod.out","w",stdout);
//    scanf("%d",&n);
//    for(int i=1;i<=n;i++)
//    {
//        scanf("%d",&a[i]);
//    }
//    build(1,1,n);
//    scanf("%d",&m);
//    for(int i=1;i<=m;i++)
//    {
//        scanf("%d%d%d",&l,&r,&x);
//        update(1,1,n,l,r,x);
//    }
//    for(int i=1;i<=n;i++)
//    {
//        printf("%lld ",query_sum(1,1,n,i,i));
//    }
//    return 0;
//}