Cod sursa(job #2429383)

Utilizator Neamtu93George Neamtu93 Data 9 iunie 2019 14:26:35
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<iostream>
#include<fstream>
#define zero(x) ((x^(x-1))&x)
using namespace std;

ifstream fin("datorii.in");
ofstream fout("datorii.out");

int n,m,aib[15000];
int inter(int x){
	int i=x,rez=0;
	for(i=x;i>0;i-=zero(i))
	{
		rez+=aib[i];
	}
		
	return rez;
}

void achit(int x,int debt){
	int i;
	for(i=x;i<=n;i+=zero(i))
		aib[i]+=debt;
}

int main(){
	int i,tip,x,y,debt;
	fin>>n>>m;
	for(i=1;i<=n;++i) 
	{
		fin>>debt;
		achit(i,debt);
	}
	
	while(fin>>tip>>x>>y){
		if(tip==1)
			fout<<inter(y)-inter(x-1)<<'\n';
		if(tip==0)
			achit(x,-y);
	}
	return 0;
}