Pagini recente » Cod sursa (job #2512746) | Cod sursa (job #1924973) | Cod sursa (job #1827544) | Cod sursa (job #2741821)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
const int NMAX=15001;
int N,M,
AiB[NMAX];
void add(int val, int i)
{
while(i<=N)
{
AiB[i]+=val;
i+=i&(-i);
}
}
void citire()
{
f>>N>>M;
for(int i=1;i<=N;i++)
{
int x;
f>>x;
add(x,i);
}
}
int sum(int i)
{
int sum=0;
while(i>0)
{
sum+=AiB[i];
i-=i&(-i);
}
return sum;
}
int main()
{
citire();
while(M--)
{
int op,X,Y;
f>>op>>X>>Y;
///cout<<"MERE";
if(op==0)
add(-Y,X);
else
g<<sum(Y)-sum(X-1)<<'\n';
}
return 0;
}