Pagini recente » Cod sursa (job #1223181) | Cod sursa (job #516342) | Cod sursa (job #2822698) | Cod sursa (job #1481755) | Cod sursa (job #2736679)
#include <iostream>
#include <fstream>
#define nl '\n'
using namespace std;
ifstream f ( "datorii.in" );
ofstream g ( "datorii.out" );
const int NMAX = 15001;
int aib[NMAX];
int N;
void Update ( int poz, int val )
{
for ( int i = poz; i <= N; i += i & ( -i ) )
aib[i] += val;
}
int Sum(int poz)
{
int sum=0;
while(poz>0)
{
sum+=aib[poz];
poz-=poz&(-poz);
}
return sum;
}
int main()
{
int M;
f >> N >> M;
for ( int i = 1; i <= N; i++ )
{
int nr;
f >> nr;
Update ( i, nr );
}
while(M--)
{
int tip;
f>>tip;
if(tip==0)
{
int T,V;
f>>T>>V;
Update(T,-V);
}
else
{
int P,Q;
f>>P>>Q;
g<<Sum(Q)-Sum(P-1)<<nl;
}
}
return 0;
}