Pagini recente » Cod sursa (job #2135575) | Cod sursa (job #2768775) | Cod sursa (job #1338184) | Cod sursa (job #348855) | Cod sursa (job #2900561)
#include<fstream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
#define zeros(x) ((x^(x-1))&x)
int v[15001];
int aib[15001];
int n;
void update(int cantitate, int poz)
{
for(int i=poz;i<=n;i+=zeros(i))
aib[i]-=cantitate;
}
int query(int poz)
{
int rez=0;
for(int i=poz;i>0;i-=zeros(i))
rez+=aib[i];
return rez;
}
int main()
{
int m;
fin>>n>>m;
for(int i=1;i<=n;i++)
{
fin>>v[i];
update((-1)*v[i],i);
}
int cod,a,b;
for(int i=1;i<=m;i++)
{
fin>>cod>>a>>b;
if(cod==0)
{
update(b,a);
}
else
{
fout<<query(b)-query(a-1)<<"\n";
}
}
}