Pagini recente » Cod sursa (job #2250032) | Cod sursa (job #1377704) | Cod sursa (job #1727313) | Cod sursa (job #1412426) | Cod sursa (job #2563765)
#include <iostream>
#include <fstream>
#define nmax 15001
#define last (id & -id)
using namespace std;
ifstream f("datorii.in");
ofstream o("datorii.out");
int aib[nmax],n,m,i,q,x,y;
inline void update(int id, int val){
while(id<=n){
aib[id]+=val;
id+=last;
}
}
inline int query(int id){
int sum=0;
while(id>0){
sum+=aib[id];
id-=last;
}
return sum;
}
int main()
{
f >> n >> m;
for(i=1;i<=n;++i){
f >> x;
update(i,x);
}
for(i=1;i<=m;++i){
f >> q >> x >> y;
if(q) // query
o << query(y) - query(x-1) << '\n';
else
update(x,-y);
}
return 0;
}