记录,WA了三个点,感觉很神奇
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define lowbit(x) x&(-x)
const int N = 5e5+5;
int a[N],t[N],ans,n,m,l,r,c;
void add(int loc,int x) //给loc加上x
{
for(int i = loc;i<=n;i+=lowbit(i))
t[i]+=x;
}
int sumout()
{
int sum = 0;
for(int i = r;i;i-=lowbit(i)) sum+=t[i];
for(int i = l-1;i;i-=lowbit(i)) sum-=t[i];
return sum;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin>>m>>n;
for(int i = 1;i<=n;++i)
{
int a;
cin>>a;
add(i,a);//输入储存
}
for(int i = 1;i<=m;++i)
{
cin>>c>>l>>r;
if(c == 1)
add(l,r);//l改为r
else
cout<<sumout()<<endl;//输出l~r前缀和
}
return 0;
}
求大佬帮调调