比赛 |
板子大赛 |
评测结果 |
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;
}