Pagini recente » Cod sursa (job #3329519) | Cod sursa (job #3343710) | Cod sursa (job #1467671) | Cod sursa (job #3355766) | Cod sursa (job #3330112)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int aib[15001], n, m;
void Update(int pos , int val)
{
for(; pos <= n; pos += (pos & -pos))
aib[pos]+=val;
}
int Sum(int pos)
{
int s=0;
for(; pos>0; pos-= (pos & -pos))
s+=aib[pos];
return s;
}
void citire()
{
fin>>n>>m;
for(int i=1;i<=n;++i)
{
int x;
fin>>x;
Update(i,x);
}
for(int i=1;i<=m;++i)
{
int op,x,y;
fin>>op>>x>>y;
if(op==0)
Update(x,-y);
else
fout<<Sum(y)-Sum(x-1)<<'\n';
}
}
int main()
{
citire();
return 0;
}