Pagini recente » Cod sursa (job #1923156) | Cod sursa (job #1890574) | Cod sursa (job #1169242) | Cod sursa (job #1541966) | Cod sursa (job #3256411)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("datorii.in");
ofstream fout ("datorii.out");
int n,m,aib[15005],i,a,b,c,x;
void adun (int x, int val)
{
int i;
for(i=x ; i<=n ;i += i & (-i) )
aib[i] += val;
}
void scad (int x, int val)
{
int i;
for(i=x ; i<=n ;i += i & (-i) )
aib[i] -= val;
}
int suma (int x)
{
int i,s=0;
for (i=x;i>=1;i-=i&(-i))
s+=aib[i];
return s;
}
int main()
{
fin>>n>>m;
for (i=1;i<=n;i++)
{
fin>>x;
adun(i,x);
}
//for (i=1;i<=n;i++) cout<<aib[i]<<" ";
while (m--)
{
fin>>c>>a>>b;
if (c==0)
{
scad(a,b);
}
else
fout<<suma(b)-suma(a-1);
}
return 0;
}