Pagini recente » Cod sursa (job #323187) | Statistici popescu ioana (babypink05) | Istoria paginii runda/oni_2013_ziua1 | Borderou de evaluare (job #2017584) | Cod sursa (job #1251581)
#include<fstream>
using namespace std;
const int nmax=15001;
int n, m, v[nmax];
ifstream u ("datorii.in");
ofstream w ("datorii.out");
void update(int pos, int val)
{for(; pos<=n; pos+=((pos&(pos-1))^pos))
v[pos]+=val;
}
int querry(int pos)
{int s=0;
for(; pos; pos-=((pos&(pos-1))^pos))
s+=v[pos];
return s;
}
int main()
{u>>n>>m;
int i, p, q, a;
bool o;
for(i=1; i<=n; i++)
{u>>a;
update(i, a);
}
for(i=1; i<=m; i++)
{u>>o>>p>>q;
if(!o) update(p, -q);
else w<<querry(q)-querry(p-1)<<"\n";
}
return 0;
}