Pagini recente » Cod sursa (job #2543572) | Cod sursa (job #1597313) | Cod sursa (job #844523) | Cod sursa (job #2935763) | Cod sursa (job #1814782)
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("datorii.in");
ofstream so("datorii.out");
int aib[15005],n;
void update(int poz,int a)
{
while(poz<=n)
{
aib[poz]+=a;
poz+=(poz&(-poz));
}
}
int query(int a)
{
int sol=0;
while(a)
{
sol+=aib[a];
a-=a&(-a);
}
return sol;
}
int main()
{
int m;
si>>n>>m;
int a,b,c,i;
for(i=1;i<=n;++i)
{
si>>a;
update(i,a);
}
while(m--)
{
si>>a>>b>>c;
if(a==0)
{
update(b,-c);
}
else
{
if(a==1)
{
so<<query(c)-query(b-1)<<'\n';
}
}
}
return 0;
}