Pagini recente » Cod sursa (job #2850398) | Cod sursa (job #2773447) | Cod sursa (job #671420) | Cod sursa (job #1929315) | Cod sursa (job #3256412)
#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)<<"\n";
}
return 0;
}