Pagini recente » Cod sursa (job #3309220) | Cod sursa (job #3304827) | Cod sursa (job #3321216) | Cod sursa (job #3312794) | Cod sursa (job #3309574)
#include <fstream>
using namespace std;
ifstream cin("datorii.in");
ofstream cout("datorii.out");
int aib[15005], n, q, tip, a, b;
int sum(int a, int b){
if(a!=1)
return sum(1,b)-sum(1, a-1);
int ans=0;
while(b){
ans+=aib[b];
b-=b&(-b);
}
return ans;
}
void update(int a, int val){
while(a<=n){
aib[a]+=val;
a+=a&(-a);
}
}
int main()
{
cin>>n>>q;
for(int i=1; i<=n;i++){
cin>>a;
update(i, a);
}
while(q--){
cin>>tip>>a>>b;
if(tip==0)
update(a, -b);
else cout<<sum(a,b)<<'\n';
}
return 0;
}