RT,测试样例输出了-12870
#include<bits/stdc++.h>
using namespace std;
int t[600001];
int a[500001];
int n,m;
int lowbit(int i){
return i&-i;
}
void modify(int x,int y){
for(register int i=x;i<=y;i+=lowbit(i)){
t[i]+=y;
}
}
int find(int x){
int ans=0;
for(register int i=x;i;i+=lowbit(i)){
ans+=t[x];
}
return ans;
}
void init(){
for(register int i=1;i<=n;++i){
modify(i,a[i]);
}
}
int cmd,x,y;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(register int i=1;i<=n;++i){
cin>>a[i];
}
init();
for(register int i=1;i<=m;++i){
cin>>cmd>>x>>y;
if(cmd==1){
modify(x,y);
}
else{
cout<<find(y)-find(x-1);
}
}
return 0;
}