RE 2 9 10求助
查看原帖
RE 2 9 10求助
292069
洋本羊楼主2021/12/4 19:40
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,a[50005],t,x,y,c[50005];
int lowbit(int x) 
{
	return x & -x;
}
void update(int x,int k)
{
	for(int i=x;i<=n;i+=lowbit(i))
	{
		c[i]+=k;
	}
}
int getsum(int x)
{
	int ans=0;
	for(int i=x;i>0;i-=lowbit(i))
	{
		ans+=c[i];
	}
	return ans;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		update(i,a[i]);
	}
	for(int i=1;i<=m;i++)
	{
		cin>>t>>x>>y;
		if(t==1)
		{
			update(x,y);
		}
		if(t==2)
		{
			cout<<getsum(y)-getsum(x-1)<<endl;
		}
	}
	return 0;
}
2021/12/4 19:40
加载中...