Pagini recente » Cod sursa (job #2103092) | Cod sursa (job #1529068) | Cod sursa (job #2022439) | Cod sursa (job #284008) | Cod sursa (job #556689)
Cod sursa(job #556689)
#include <iostream>
#include<stdio.h>
#define dim 15015
using namespace std;
int c[dim],n,m;
int bit(int i)
{
return i&(-i);
}
void update (int poz , int x)
{
for(int i=poz ; i<=n ; i+=bit(i))
c[i]+=x;
}
void read()
{
scanf("%d %d",&n ,&m);
int x;
for(int i=1 ; i<=n;i++)
{
scanf("%d",&x);
update(i,x);
}
}
int querry ( int x)
{
int s=0;
for(int i=x ; i>=1 ; i-=bit(i))
{
s+=c[i];
}
return s;
}
void solve()
{
int ziua , val ,op,x,y;
for(int k=1 ; k<=m;k++)
{
scanf("%d",&op);
if ( op==0)
{
scanf("%d %d",&ziua , &val );
update ( ziua , -val);
}
else
if ( op==1)
{
scanf("%d %d",&x,&y);
printf("%d\n",querry(y)-querry(x-1));
}
}
}
int main()
{
freopen("datorii.in","r",stdin);
freopen("datorii.out","w",stdout);
read();
solve();
return 0;
}