Cod sursa(job #2290226)

Utilizator MogekoValeria Izvoreanu Mogeko Data 26 noiembrie 2018 00:12:01
Problema Datorii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("datorii.in");
ofstream fout("datorii.out");
int A[20100],T[20000],n,q;
 
void up(int k, int x){
	for(int i=k;i<=n;i+=(i&-i))
				T[i]+=x;
}
 
int rezolva(int k){
	int r=0;
	for(int i=k;i>0;i-=(i&-i)){r+=T[i];
								}
	return r;
}

int main(){
    fin>>n>>q;
	for(int i=1;i<=n;i++){
				fin>>A[i];
				up(i, A[i]);
	}
	int tip,x,y;
	for(int i=1;i<=q;i++){
		
			fin>>tip>>x>>y;
			if(tip==0){up(x,-y);
						
			} else { fout<<rezolva(y)-rezolva(x)<<'\n';
			}
	}
 
}