Pagini recente » Cod sursa (job #1692101) | Cod sursa (job #909187) | Cod sursa (job #61703) | Cod sursa (job #2356401) | Cod sursa (job #2133636)
#include <fstream>
#define nmax 15000
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int aib[nmax*4],n;
void add(int pos,int val)
{
while(pos<=n)
{
aib[pos]+=val;
pos+=((pos^(pos-1))&pos);
}
}
int querry(int pos)
{
int s=0;
while(pos>0)
{
s+=aib[pos];
pos-=((pos^(pos-1))&pos);
}
return s;
}
int main()
{
int m,i,x,op,a,b;
f>>n>>m;
for(i=1;i<=n;i++)
{
f>>x;
add(i,x);
}
for(i=1;i<=m;i++)
{
f>>op>>a>>b;
if(op==0)
add(a,-b);
if(op==1)
g<<querry(b)-querry(a-1)<<'\n';
}
return 0;
}