Pagini recente » Cod sursa (job #2774041) | Cod sursa (job #1136839) | Cod sursa (job #2029452) | Cod sursa (job #1584130) | Cod sursa (job #1940205)
#include <iostream>
#include <fstream>
#include <vector>
#define zeros(x) ((x^(x-1))&x)
using namespace std;
int aib[15002];
int n,m;
void decr(int x, int q)
{
for(int i=x;i<=n;i+=zeros(i))
aib[i]+=q;
}
int compute(int x)
{
int val=0;
for(int i=x;i>0;i-=zeros(i))
val+=aib[i];
return val;
}
int main()
{
ifstream f("datorii.in");
ofstream g("datorii.out");
f>>n>>m;
int x;
for(int i=1;i<=n;i++)
{
f>>x;
decr(i,x);
}
int bin,y;
for(int i=1;i<=m;i++)
{
f>>bin>>x>>y;
if(bin)
g<<compute(y)-compute(x-1)<<'\n';
else
decr(x,-y);
}
return 0;
}