Pagini recente » Cod sursa (job #2785305) | Runda 2 preONI 2007 | Cod sursa (job #371244) | Cod sursa (job #2086503) | Cod sursa (job #2530945)
#include <bits/stdc++.h>
using namespace std;
ifstream in("datorii.in");
ofstream out("datorii.out");
int n,m;
int tree[15001];
void adauga(int poz,int val)
{
while(poz<=n)
{
tree[poz]+=val;
poz+=poz&(-poz);
}
}
int sum(int poz)
{
int sol=0;
while(poz)
{
sol+=tree[poz];
poz-=poz&(-poz);
}
return sol;
}
int main()
{
in>>n>>m;
for(int i=1,val;i<=n;i++)
{
in>>val;
adauga(i,val);
}
for(int c,a,b,k=1;k<=m;k++)
{
in>>c>>a>>b;
if(c==0)
adauga(a,-b);
else
out<<sum(b)-sum(a-1)<<'\n';
}
return 0;
}