RT求调,本地读入到第一个y就卡住了,看了一遍也没return,很不解
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define lowbit(x) x&(-x)
ll n,q,a[500005];
ll c[500005];
void add(ll x,ll v){
for(ll i=x;i<=n;i+=lowbit(i)){
c[i]+=v;
}
}
ll ask(ll x){
ll res=0;
for(ll i=x;i>=1;i-=lowbit(i)){
res+=c[i];
}
return res;
}
int main(){
cin>>n;
cin>>q;
for(ll i=1;i<=n;++i) a[i]=0;
for(ll i=1;i<=n;++i) add(i,a[i]);
while(q--){
char op;
ll x,y;
scanf("%c%lld%lld",&op,&x,&y);
if(op=='x'){
add(x,y);
}
if(op=='y'){
printf("%lld\n",ask(y)-ask(x-1));
}
}
return 0;
}