Cod sursa(job #2638273)

Utilizator Gliumarin negai Gliu Data 27 iulie 2020 16:55:03
Problema Arbori indexati binar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
//#include <iostream>
#include <fstream>

using namespace std;
typedef long long ll; 
ifstream cin("aib.in");
ofstream cout("aib.out");

const ll Nmax=10099;

int main(){
ll n,m,s[Nmax],k,a,b;
cin >>n>>m;
for(int i=1;i<=n;i++){
	cin>>k;
	s[i]=k+s[i-1];
}
while(m--){
	cin >>k;
	if(k<2){
	 cin >>a>>b;
	 if(k){
	 	cout<<s[b]-s[a-1]<<"\n";
	 	continue;
	 }
	 for(int i=a;i<=n;i++){
	 	s[i]+=b;
	 }
	}else if(k==2){
		cin >>b;
		bool da=0;
		for(int i=1;i<=n;i++){
			if(s[i]==b){
				cout <<i<<"\n";
				break;
			}
			if(s[i]>b)break;
		}
	}
}

return 0;
}