Cod sursa(job #3214957)
Utilizator | Calin Andrei Cristian LilGoat | Data | 14 martie 2024 16:27:36 |
---|---|---|---|
Problema | Arbori indexati binar | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.76 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("aib.in");
ofstream out("aib.out");
int n,m,a[100000],i,j,k,x,y,z,s;
int main()
{
in>>n>>m;
for(i=1;i<=n;i++)
in>>a[i];
for(j=1;j<=m;j++){
in>>x;
if(x==0){
in>>y>>z;
a[y]+=z;
}
else if(x==1){
in>>y>>z;
s=0;
for(i=y;i<=z;i++)
s+=a[i];
out<<s<<endl;
}
else if(x==2){
in>>y;
s=0;
k=-1;
for(i=1;i<=n;i++){
s+=a[i];
if(s==y){
k=i;
break;
}
}
out<<k<<endl;
}
}
return 0;
}