Pagini recente » Cod sursa (job #1983538) | Cod sursa (job #690541) | Cod sursa (job #3253786) | Cod sursa (job #3283960) | Cod sursa (job #2215931)
#include <bits/stdc++.h>
using namespace std;
int n,m;
int arb[15010];
void add(int i,int x)
{
while(i<=n)
{
arb[i]+=x;
i+=(i&(-i));
}
}
void dec(int i,int x)
{
while(i<=n)
{
arb[i]-=x;
i+=(i&(-i));
}
}
int sum(int i)
{
int res=0;
while(i)
{
res+=arb[i];
i-=(i&(-i));
}
return res;
}
int main()
{
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int a,b;
bool q;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a;
add(i,a);
}
for(int i=1;i<=m;i++)
{
cin>>q;
if(q)
{
cin>>a>>b;
cout<<sum(b)-sum(a-1)<<'\n';
}
else
{
cin>>a>>b;
dec(a,b);
}
}
return 0;
}