Pagini recente » Cod sursa (job #1888177) | Cod sursa (job #1137858) | Cod sursa (job #668153) | Cod sursa (job #3263441) | Cod sursa (job #1695444)
#include <fstream>
#include <iostream>
#define zeroes(x) (x^(x-1))&x
using namespace std;
fstream f,g;
int d[15001],qt,t,v,p,q,n,m,i,j,k,l,o;
void add(int t,int v)
{
for(;t<=n;t+=zeroes(t))d[t]+=v;
}
int comp(int t)
{
int sol;
for(sol=0;t>0;t-=zeroes(t))sol+=d[t];
return sol;
}
int main()
{
f.open("datorii.in",ios_base::in);
g.open("datorii.out",ios_base::out);
f>>n>>m;
for(i=1;i<=n;i++)
{
f>>j;
add(i,j);
}
for(i=0;i<m;i++)
{
f>>qt;
if(qt==0)
{
f>>t>>v;
add(t,-v);
}
else
{
f>>p>>q;
o=comp(q)-comp(p-1);
g<<o<<'\n';
}
}
}