Pagini recente » Cod sursa (job #1895218) | Cod sursa (job #84055) | Cod sursa (job #290557) | Cod sursa (job #2621462) | Cod sursa (job #2378316)
#include <bits/stdc++.h>
#define NMAX 15005
#define zeros(x) ( (x ^ (x - 1)) & x )
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m;
int v[NMAX];
int aib[NMAX];
void citire();
void add(int poz,int val);
void rezolvare();
int sum(int x);
int main()
{citire();
rezolvare();
return 0;
}
void citire()
{int i;
fin>>n>>m;
for(i=1;i<=n;i++)
{fin>>v[i];
add(i,v[i]);
}
}
void add(int poz,int val)
{int i;
for(i=poz;i<=n;i+=zeros(i))
aib[i]+=val;
}
void rezolvare()
{int i,cer,x,y;
for(i=1;i<=m;i++)
{fin>>cer>>x>>y;
if(cer==0)
add(x,-y);
else
fout<<sum(y)-sum(x-1)<<'\n';
}
}
int sum(int x)
{int i,cat=0;
for(i=x;i>0;i-=zeros(i))
cat+=aib[i];
return cat;
}