Cod sursa(job #1505367)

Utilizator DacianBocea Dacian Dacian Data 19 octombrie 2015 01:36:57
Problema Datorii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;//test AIB
int AIB[15001], N, M, a, b, c;
int q(int d){
	int sum = 0;
	for (int i = d; i >= 1; i -= i&-i) sum += AIB[i];
	return sum;
}
void update(int c, int Val){
	for (int i = c; i <= N; i += i&-i) AIB[i] += 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)update(b, -c);
		else of << q(c)-q(b-1) << "\n";
	}
}