Pagini recente » Cod sursa (job #2647357) | Cod sursa (job #823900) | Cod sursa (job #2294107) | Cod sursa (job #2119346) | Cod sursa (job #2375286)
#include <bits/stdc++.h>
#define zero(x) x&(-x)
using namespace std ;
ifstream in ("datorii.in") ;
ofstream out ("datorii.out") ;
int n , q , aib [ 15005 ] , i , x , a , b ;
void update (int pos , int val)
{
for (;pos<=n;pos+=zero(pos)) aib [ pos ] += val ;
}
int sum ( int pos )
{
int s = 0 ;
for ( ; pos ; pos -= zero(pos) ) s += aib [ pos ] ;
return s ;
}
int main ()
{
in >> n >> q ;
for ( i = 1 ; i <= n ; ++ i )
{
in >> x ;
update( i , x ) ;
}
while ( q -- )
{
in >> x >> a >> b ;
if ( x == 0 ) update ( a , -b ) ;
else out << sum(b) - sum(a-1) << '\n' ;
}
}