求助,70PTS
查看原帖
求助,70PTS
723596
chenkuntao楼主2023/12/21 19:38
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define lowbit(x) x&(-x)
ll a[500005],t[500005];
ll n,m;
int ask(ll k){
	ll sum=0;
	for(ll i=k;i;i-=lowbit(i))	sum+=t[i];
	return sum;
}
void add(ll k,ll j){
	for(ll i=k;i<=n;i+=lowbit(i))	t[i]+=j;
}
void search(ll L,ll R){
	cout<<ask(R)-ask(L-1);
}
int main(){
	ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
	cin>>n>>m;
	for(ll i=1;i<=n;i++){
		cin>>a[i];
		add(i,a[i]);
	}
	ll c,g,s;
	for(ll i=1;i<=n;i++){
		cin>>c>>g>>s;
		if(c==1){
			add(g,s);
		}else if(c==2){
			search(g,s);
			cout<<endl;
		}
	}
	return 0;
}
2023/12/21 19:38
加载中...