树状数组本地运行正常,洛谷全RE
查看原帖
树状数组本地运行正常,洛谷全RE
621883
MushR楼主2023/8/9 13:18
#include<bits/stdc++.h>
using namespace std;

#define int long long

int lowbit(int n){
	return n&-n;
}

int n,m;
int a[500003];

void add(int p,int k){
	while(p<=n){
		a[p]+=k;
		p+=lowbit(p);
	}
}

int query(int p){
	int ret=0;
	while(p){
		ret+=a[p];
		p-=lowbit(p);
	}
	return ret;
}

int query(int x,int y){
	return query(y)-query(x-1);
}

signed main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		int x;
		scanf("%d",&x);
		add(i,x);
	}
	for(int i=1;i<=m;i++){
		int cmd,x,y;
		scanf("%d%d%d",&cmd,&x,&y);
		if(cmd==1){
			add(x,y);
		}
		else{
			printf("%d\n",query(x,y));
		}
	}
	return 0;
}
2023/8/9 13:18
加载中...