Pagini recente » Cod sursa (job #3283631) | Cod sursa (job #2319769) | Cod sursa (job #1782448) | Cod sursa (job #1517158) | Cod sursa (job #2441391)
#include <fstream>
int n, m;
int fenwick_tree[15000 + 1];
inline int LSB(int index){return (index&-index);}
int query(int index){
int sum = 0;
for(; index>0; index -= LSB(index)) sum+= fenwick_tree[index];
return sum;
}
void update(int index, int value){
for(; index<=n; index += LSB(index)) fenwick_tree[index]+=value;
}
int main()
{
std::ifstream fin("datorii.in");
std::ofstream fout("datorii.out");
fin>>n>>m;
int a;
for(int i=1; i<=n; i++){
fin>>a;
update(i, a);
}
int c, x, y;
for(int i=1; i<=m; i++){
fin>>c>>x>>y;
if(c) fout<<query(y) - query(x-1)<<std::endl;
else update(x, -y);
}
}