Pagini recente » Cod sursa (job #190696) | Cod sursa (job #2089231) | Cod sursa (job #1357637) | Cod sursa (job #1022143) | Cod sursa (job #2020601)
#include <fstream>
#define ub(x) (x&(-x))
using namespace std;
ifstream f("datorii.in");
ofstream g("datorii.out");
int AIB[15050],i,j,n,m,x,tip,a,b;
void update (int poz, int val)
{
for(j=poz; j<=n; j+=ub(j))
AIB[j]+=val;
}
int sum (int poz)
{
long long int s=0;
for(j=poz; j>0; j-=ub(j))
s+=AIB[j];
return s;
}
int main()
{
f>>n>>m;
for(i=1; i<=n; i++)
{
f>>x;
update(i,x);
}
for(i=1; i<=m; i++)
{
f>>tip>>a>>b;
if(tip==0)
update(a,-b);
else g<<sum(b)-sum(a-1)<<'\n';
}
return 0;
}