Pagini recente » Cod sursa (job #923768) | Cod sursa (job #2054157) | Cod sursa (job #924412) | Cod sursa (job #446537) | Cod sursa (job #1505362)
#include <fstream>
using namespace std;//test AIB
int AIB[15001], N, M, a, b, c;
int q(int d){
int sum = 0;
for (; d>0; d -= d ^ (d - 1) & d) sum += AIB[d];
return sum;
}
void update(int c, int Val){
for (; c <= N; c += c ^ (c - 1) & c) AIB[c] += Val;
}
int main(){
ofstream of("datorii.out");
ifstream f("datorii.in");
f >> N >> M;
a = -1;
for (int i = 1; i <= N; ++i){
f >> b;
update(i, b);
}
for (int i = 0; i < M; ++i){
f >> a >> b >> c;
if (a == 0){
c *= -1;
update(b, c);
}
else{
of << q(c)-q(b-1) << "\n";
}
}
}