Pagini recente » Cod sursa (job #723979) | Istoria paginii utilizator/xxxy | Cod sursa (job #2636628) | Cod sursa (job #2674238) | Cod sursa (job #1216314)
#include <iostream>
using namespace std;
void openIOFiles()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
}
int i,n,k,op,T,V,aux;
int A[16013];
int fnsb(int x)
{
return x&(-x);
}
void update(int nod, int val)
{
for (int i=nod;i<=n;i+=fnsb(i)) A[i]+=val;
}
int query(int poz)
{
int i,s(0);
for (i=poz;i;i-=fnsb(i)) s+=A[i];
return s;
}
int main()
{
openIOFiles();
cin>>n>>k;
for (i=1;i<=n;++i){
cin>>aux;
update(i,aux);
}
while(k--){
cin>>op>>T>>V;
if (op==0) update(T,-V);
if (op==1) cout<<query(V)-query(T-1)<<"\n";
}
return 0;
}