Pagini recente » Cod sursa (job #1825388) | Cod sursa (job #142048) | Cod sursa (job #2672325) | Cod sursa (job #3166913) | Cod sursa (job #2564770)
#include <bits/stdc++.h>
#define Nmax 15001
using namespace std;
int AIB[ Nmax ], n , m ;
ifstream fin ("datorii.in");
ofstream fout("datorii.out");
void update ( int poz , int val )
{
while ( poz <= n )
{
AIB[ poz ] += val;
poz += ( poz & ( - poz ) ) ;
}
}
int query( int poz )
{
int sum = 0 ;
while ( poz )
{
sum += AIB[ poz ];
poz -= ( poz & ( - poz ) );
}
return sum;
}
void read ( )
{
int x,task,a,b ;
fin >> n >> m ;
for( int i = 1 ; i <= n ; i++ )
{
fin >> x ;
update( i , x );
}
for( int i = 1 ; i <= m ; i++ )
{
fin >> task ;
if ( task == 0 )
{
fin >> a >> b;
update ( a , -b ) ;
}
else
{
fin >> a >> b ;
fout << query ( b ) - query( a - 1 ) << " \n" ;
}
}
}
int main()
{
read();
return 0;
}