Pagini recente » Cod sursa (job #375383) | Cod sursa (job #283002) | Cod sursa (job #259772) | Cod sursa (job #2251924) | Cod sursa (job #1778525)
#include <cstdio>
int n, aib[15005];
using namespace std;
void update( int p, int val )
{
for( ; p<=n; p+=p&-p )
aib[p]+=val;
}
int query( int p )
{
int s=0;
for( ; p>0; p-=p&-p )
s=s+aib[p];
return s;
}
int main()
{
freopen( "datorii.in", "r", stdin );
freopen( "datorii.out", "w", stdout );
int m, i, k, op, a, b;
scanf( "%d%d", &n, &m );
for( i=1;i<=n;i++ )
{
scanf( "%d", &k );
update(i,k);
}
for( i=1;i<=m;i++ )
{
scanf( "%d%d%d", &op, &a, &b );
switch( op )
{
case 0:
update(a,-b);
break;
case 1:
printf( "%d\n", query(b)-query(a-1) );
}
}
return 0;
}