AcWing 797. 差分
原题链接
简单
作者:
钟鸣
,
2024-10-27 20:18:19
,
所有人可见
,
阅读 1
废话不多说上代码
Code:
#include<iostream>
using namespace std;
int a[100010]={0};
int s[100010]={0};
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<=n;i++)//初始化差分数组
{
s[i]=s[i]+a[i];
s[i+1]=-a[i];
}
int l,r,c;
while(m--)//对相应的位数进行操作
{
cin>>l>>r>>c;
s[l]=s[l]+c;
s[r+1]=s[r+1]-c;
}
for(int i=1;i<=n;i++)//得出新的a数组
{
s[i]=s[i]+s[i-1];
a[i]=s[i];
}
for(int i=1;i<=n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}