Pagini recente » Cod sursa (job #1912444) | Cod sursa (job #816767) | Cod sursa (job #1192466) | Cod sursa (job #1639439) | Cod sursa (job #1733429)
#include <fstream>
using namespace std;
ifstream fi("datorii.in");
ofstream fo("datorii.out");
int F[15001],N,M,i,x,q,st,dr;
int tip,poz,v;
void update(int poz, int v)
{
while (poz<=N)
{
F[poz]+=v;
poz=poz+(poz&(poz^(poz-1)));
}
}
int f(int p)
{
int rez;
rez=0;
while (p>0)
{
rez=rez+F[p];
p=p-(p&(p^(p-1)));
}
return rez;
}
int main()
{
fi>>N>>M;
for (i=1;i<=N;i++)
{
fi>>x;
update(i,x);
}
for (q=1;q<=M;q++)
{
fi>>tip;
if (tip==0)
{
fi>>poz>>v;
update(poz,-v);
}
else
{
fi>>st>>dr;
fo<<f(dr)-f(st-1)<<"\n";
}
}
fi.close();
fo.close();
return 0;
}