说点什么呢。。。rt.
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=5e5+5;
int n,m,a[N],lb[N];
int lowbit(int x){
return x&-x;
}
void add(int x,int k){
for(int i=x;i<=n;i+=lb[i]){
a[x]+=k;
}
return;
}
void sum(int x,int y){
int txl=0,ty=0;
for(int i=x;i>0;i-=lb[i]){
txl+=a[i];
}
for(int i=y;i>0;i-=lb[i]){
ty+=a[i];
}
cout<<ty-txl<<endl;
return;
}
signed main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
lb[i]=lowbit(i);
}
for(int i=1;i<=n;i++){
int x;
cin>>x;
add(i,x);
}
for(int i=1;i<=m;i++){
int p,x;
cin>>p>>x;
if(p==1){
int k;
cin>>k;
add(x,k);
}
else{
int y;
cin>>y;
sum(x-1,y);
}
}
return 0;
}