Pagini recente » Cod sursa (job #1253380) | Cod sursa (job #1832746) | Cod sursa (job #1003099) | Cod sursa (job #829344) | Cod sursa (job #1932368)
#include <fstream>
#define zeros(x) ( (x ^ (x - 1)) & x )
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int AIB[15001];
int n;
void Add(int x, int quantity)
{
int i;
for (i = x; i <= n; i += zeros(i))
AIB[i] += quantity;
}
int Compute(int x)
{
int i, ret = 0;
for (i = x; i > 0; i -= zeros(i))
ret += AIB[i];
return ret;
}
int main()
{
int m,a,b,c;
int i;
fin>>n>>m;
for(i=1;i<=n;i++)
{
fin>>a;
Add(i,a);
}
for(i=1;i<=m;i++)
{
fin>>a>>b>>c;
if(a==0)
Add(b,-c);
else
fout<<Compute(c)-Compute(b-1)<<'\n';
}
return 0;
}