quynhanh1995lh1
Rating
-
Bài tập
2
Điểm
1943
Rating #
-
Điểm #
15136
Giới thiệu
include <iostream>
using namespace std;
int n,q,y,z,bit[10000],x,f[10000];
void up(int p, int v)
{
int t=p;
while(t<=n)
{
f[t]+=v;
t += t & (-t);
}
}
int tong(int p)
{
int t=p,kq=0;
while (t>0)
{
kq+=f[t];
t -= t & (-t);
}
return kq;
}
int main()
{
cin>>n>>q;
for (int i=1;i<=n;i++)
{
cin>>bit[i];
}
f[0]=0;
for (int i=1;i<=n;i++)
{
for (int t=i-(i&(-i))+1;t<=i;t++)
{
//cout<<t<<' ';
f[i]+=bit[t];
}
// cout<<f[i]<<' ';
}
for (int i=1;i<=q;i++)
{
cin>>x;
if (x==1) {
cin>>y>>z;
up(y,z);
}
else
{
cin>>y>>z;
cout<<tong(z)-tong(y-1)<<'\n';
}
}
// for (int i=1;i<=n;i++) cout<<f[i]<<' ';
return 0;
}