求助
查看原帖
求助
519113
SeccHtigy590楼主2024/10/13 23:22

样例和测试点1都没问题,为什么全RE??

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=5*1e5+4;
int n,m;
int a[N];
int b[N];
int lowbit(int x){
	return x&(-x);
}int count(int x){
	if(x<1)return 0;
	return count(x-lowbit(x))+b[x];
}
int add(int x,int k){
	while(x<=n){
		b[x]+=k;
		x+=lowbit(x);
	}
}
signed main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		add(i,a[i]);		
	}	
	while(m--){
		int op,x,y;
		cin>>op>>x>>y;
		if(op==1)add(x,y);
		if(op==2){
			cout<<count(y)-count(x-1)<<endl;
		}
	}
	return 0;	
}
2024/10/13 23:22
加载中...