求助求助
查看原帖
求助求助
933614
zhou_young楼主2024/7/11 17:16
#include<iostream>

using namespace std;
const int N =5e5+10;
int n,m;
int op;
int tree[N];
int lowbit(int x){
	return x & (-x);
}
int _add(int x,int k){
	for(; x <= n; x += lowbit(x))
		tree[x] += k;
}
int find_sum(int x){
	int ans = 0;
	for(;x;x-=lowbit(x))
		ans += tree[x];
	return ans;
}


int main(){
	scanf("%d %d",&n, &m);
	for(int i = 1,a; i <= n;i++){
		scanf("%d",&a);
		_add(i, a);
	}	
	int l,r;
	while(m--){
		scanf("%d%d%d",&op,&l,&r);
		if(op==1){
			_add(l,r);
		}
		else{
			printf("%d\n",find_sum(r) - find_sum(l - 1));
		}
	}
	return 0;
}

为什么全报RE啊

2024/7/11 17:16
加载中...