Pagini recente » Cod sursa (job #2879051) | Cod sursa (job #2721517) | Cod sursa (job #1053767) | Cod sursa (job #2156212) | Cod sursa (job #1766658)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int n,m,Maxvalue,tree[15001];
void update(int val,int id)
{
while(id<=Maxvalue)
{
tree[id]+=val;
id+=(id& -id);
}
}
int query(int id)
{
int sum=0;
while(id>0)
{
sum+=tree[id];
id-=id&-id;
}
return sum;
}
int main()
{
f >> n >> m;
int op,val;
Maxvalue=n;
for(int i=1;i<=n;i++)
{
f >> val;
update(val,i);
}
int a,b;
for(int i=1;i<=m;i++)
{
f >> op >> a >> b;
if(op)
{
g << query(b)-query(a-1) << "\n";
} else
{
update(-b,a);
}
}
return 0;
}