Pagini recente » Cod sursa (job #2793216) | Cod sursa (job #2945835) | Cod sursa (job #484149) | Cod sursa (job #56551) | Cod sursa (job #1261287)
#include <csdtio>
using namespace std;
int aib[15001] ;
int n ;
int query ( int poz )
{
int s ;
s = 0 ;
for ( ; poz ; poz & ( poz - 1 ) ^ poz )
s += aib[poz] ;
return s ;
}
void update ( int poz, int val )
{
for ( ; poz <= n ; poz += poz & ( poz - 1 ) ^ poz )
aib[poz] += val ;
}
int main()
{
freopen ( "datorii.in","r",stdin ) ;
freopen ( "datorii.out","w",stdout ) ;
int m, d, lp, i, op, a, b ;
scanf ( "%d%d",&n,&m ) ;
for ( i = 1 ; i <= n ; i ++ )
{
scanf ( "%d",&d ) ;
update ( i, d ) ;
}
for ( i = 1 ; i <= m ; i ++ )
{
scanf ( "%d%d%d",&op,&a,&b ) ;
if ( op == 0 )
update ( a, -b ) ;
else
printf ( "%d",query ( b ) - query ( a-1 ) ) ;
}
return 0;
}