比赛 板子大赛 评测结果 WWWWWWWWWW
题目名称 区间修改 最终得分 0
用户昵称 __b_ 运行时间 1.517 s
代码语言 C++ 内存使用 3.62 MiB
提交时间 2025-01-22 11:39:21
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
//#define int long long
int n,m,a[10001],lg[10001],lz[101],la[101],k,l,r,x;
signed main(){
    freopen("interval_mod.in","r",stdin);
    freopen("interval_mod.out","w",stdout);
    cin>>n;k=pow(n,1.0/2);
    for(int i=1;i<=n;i++){
        cin>>a[i];
        lg[i]=i/k;
        if(lg[i]!=lg[i-1])la[lg[i-1]]=i-1;
    }
    cin>>m;
    while(m--){
        cin>>l>>r>>x;int i=l;
        for(;lg[i]==lg[l];i++)a[i]+=x;
        for(;lg[i]<lg[r];i=la[lg[i]]+1)lz[lg[i]]+=x;
        for(;i<=r;i++)a[i]+=x;
    }
    for(int i=1;i<=n;i++)cout<<a[i]+lz[lg[i]]<<' ';
    return 0;
}