Pagini recente » Cod sursa (job #1408926) | Cod sursa (job #1614241) | Cod sursa (job #605159) | Cod sursa (job #620910) | Cod sursa (job #1849388)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int v[15001],aib[15001],n,q,i,x,y,p;
int zeroes(int x)
{
return ((x ^ (x-1)) & x);
}
void add(int x,int quantity)
{
for(int i=x;i<=n;i+=zeroes(i))
aib[i]+=quantity;
}
int compute(int x)
{
int ans=0;
for(int i=x;i>0;i-=zeroes(i))
ans+=aib[i];
return ans;
}
int main()
{
f>>n>>q;
for(i=1;i<=n;i++)
f>>v[i];
for(i=1;i<=n;i++)
add(i,v[i]);
for(i=1;i<=q;i++)
{
f>>p;
if(p==0)
{
f>>x>>y;
add(x,-y);
}
else
{
f>>x>>y;
g<<compute(y)-compute(x-1)<<'\n';
}
}
}