洛谷位置:P3374 【模板】树状数组 1
龙哥哥OJ位置:
#include<iostream>
using namespace std;
const int maxn=500005;
int n,m,a[maxn],c[maxn];
void change(int index,int v)
{
for(int i=index;i<=n;i+=i&(-i))
c[i]+=v;
}
int sum(int index)
{
int s=0;
for(int i=index;i>0;i-=i&(-i))
s+=c[i];
return s;
}//此处开始出错
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
change(i,a[i]);
}
int j,x,y,k;
for(int i=1;i<=m;i++)
{
cin>>j;
if(j==1)
{
cin>>x>>k;
change(x,k);
}
else
{
cin>>x>>y;
cout<<sum(y)-sum(x-1)<<endl;
}
}
return 0;
}