Pagini recente » Cod sursa (job #143847) | Cod sursa (job #112554) | Cod sursa (job #2871000) | Cod sursa (job #1792798) | Cod sursa (job #2280976)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int n,m,d[15010],cod;
void upd(int poz,int val)
{
while(poz<=n)
{
d[poz]+=val;
poz=poz+(poz&(-poz));
}
}
int que(int poz2)
{
int s=0;
while(poz2>0)
{
s=s+d[poz2];
poz2=poz2-(poz2&(-poz2));
}
return s;
}
int main()
{
int val,poz1,poz2,i;
fin>>n>>m;
for(i=1;i<=n;i++)
{
fin>>val;
upd(i,val);
}
for(i=1;i<=m;i++)
{
fin>>cod;
if(cod==0)
{
fin>>poz1>>val;
upd(poz1,-val);
}
else
{
fin>>poz1>>poz2;
fout<<que(poz2)-que(poz1-1)<<'\n';
}
}
}