求助orz求助
查看原帖
求助orz求助
388718
wjk20050306楼主2021/4/26 20:13

试了数据,答案是对的,格式也是对的 全WA

using namespace std;
int N,Q;
int input[500010],cf[500010];
int lowbit(int x) {
	return x&(-x);
}
void add(int x,int v) {
	for(; x<=N; x+=lowbit(x)) {
		cf[x]+=v;
	}
}
void add1(int l,int addv) {
	for(; l<=N; l+=lowbit(l)) {
		cf[l]+=addv;
	}
}
int ask(int l,int r) {
	int ans;
	l--;
	for(; r>0; r-=lowbit(r)) {
		ans+=cf[r];
	}
	for(; l>0; l-=lowbit(l)) {
		ans-=cf[l];
	}
	return ans;
}
int main() {
	scanf("%d%d",&N,&Q);
	for(int i=1; i<=N; i++) {
		scanf("%d",&input[i]);
		add(i,input[i]);
	}
	while(Q) {
		int l,r,addv;
		Q--;
		int k;
		scanf("%d",&k);
		if(k==1) {
			scanf("%d%d",&l,&addv);
			add1(l,addv);
		} else {
			scanf("%d%d",&l,&r);
			printf("%d\n",ask(l,r));
		}
	}
	return 0;
}
2021/4/26 20:13
加载中...