Pagini recente » Cod sursa (job #874312) | Cod sursa (job #1267746) | Cod sursa (job #911569) | Cod sursa (job #634089) | Cod sursa (job #1632391)
#include <fstream>
using namespace std;
int aib[15010],i,j,n,m,q,t,p,x;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int zero( int x )
{
return ( x & (-x) );
}
void upd( int poz, int val )
{
int i;
for( i = poz ; i <= n ; i += zero(i) )
{
aib[ i ] += val;
}
}
int sum( int poz )
{
int i,ans=0;
for( i = poz ; i > 0 ; i -= zero(i) )
{
ans += aib[ i ];
}
return ans;
}
int main()
{
fin>>n>>m;
for( i = 1 ; i <= n ; i++ )
{
fin>>x;
upd( i , x );
}
for( i = 1 ; i <= m ; i++ )
{
fin>>q>>t>>p;
if( q == 0 )
{
upd( t , -p );
}
else
{
fout<<sum(p)-sum(t-1)<<'\n';
}
}
return 0;
}