theson11072007
Rating
-
Bài tập
6
Điểm
3324
Rating #
-
Điểm #
11570
Giới thiệu
include <bits/stdc++.h>
define fo(i,l,r) for(int i=l;i<=r;i++)
using namespace std;
int n,q;
int a[60000];
long long bit[60000];
long long getsum(int u)
{
int x = u;
long long res = 0 ;
while(x > 0)
{
res += bit[x];
x = x - (x&(-x)) ;
}
return res;
}
void update(int u, int v )
{
int x = u;
while(x <= n)
{
bit[x] += v ;
x =x +(x&(-x)) ;
}
}
int main()
{
cin >> n ;
cin>>q;
fo(i,1,n)
{
cin >> a[i] ;
update(i,a[i]);
}
while(q--)
{
int s,u,v;
cin >> s ;
if(s == 1)
{
cin>> u >>v ;
update(u,v);
}
else
{
cin >> u >> v ;
cout<< getsum(v) - getsum(u-1) << endl ;
}
}
return 0;
}