Pagini recente » Cod sursa (job #1381760) | Rating Vaduva Ana-Maria (Ana-Maria98) | Cod sursa (job #61189) | Cod sursa (job #1243492) | Cod sursa (job #41240)
Cod sursa(job #41240)
// Problema datorii
#include <stdio.h>
#define MAX 15001
int A[MAX];
int n;
int query(int x)
{
int r = 0;
for (; x; x -= x ^ (x-1) & x)
r += A[x];
return r;
}
void update(int x, int v)
{
for (; x <= n; x += x^(x-1) & x)
A[x] += v;
}
int main()
{
freopen( "datorii.in", "rt", stdin );
long m;
scanf( "%d %ld", &n, &m );
int i;
for( i=1; i<=n; i++ )
scanf( "%d ", &A[i] );
freopen( "datorii.out" , "wt", stdout );
int c, p, q;
while( m > 0 )
{
m--;
scanf( "%d %d %d", &c, &p, &q );
if( c == 0 ) update( p, q );
else
printf( "%d\n", query(q)-query(p-1) );
}
fclose( stdin );
fclose( stdout );
return 0;
}