#include<bits/stdc++.h>
#define N 500005
#define int long long
using namespace std;
int n,m,i,j,ans,a[N],x,y,k,id;
int d[N<<2];
void build(int l,int r,int p){
if(l==r){
d[p]=a[l];
return;
}
int m=(l+r)>>1;
build(l,m,p<<1);
build(m+1,r,(p<<1)+1);
d[p]=d[p<<1]+d[(p<<1)+1];
}
int getsum(int s,int t,int l,int r,int p){
if(s<=l && r<=t) return d[p];
int m=(l+r)>>1,sum=0;
if(s<=m) sum+=getsum(s,t,l,m,p<<1);
if(t>m) sum+=getsum(s,t,m+1,r,(p<<1)+1);
return sum;
}
void update(int s,int c,int l,int r,int p){
if(s>=l && s<=r) d[p]+=c;
if(l==r) return;
int m=(l+r)>>1;
if(l<=m) update(s,c,l,m,p<<1);
if(r>m) update(s,c,m+1,r,(p<<1)+1);
}
signed main(){
scanf("%lld%lld",&n,&m);
for(i=1;i<=n;i++) scanf("%lld",&a[i]);
build(1,n,1);
for(i=1;i<=m;i++){
scanf("%lld%lld%lld",&id,&x,&k);
if(id==1) update(x,k,1,n,1);
if(id==2){
ans=getsum(x,k,1,n,1);
printf("%lld\n",ans);
}
}
return 0;
}
求助。