2 条题解

  • 1
    @ 2024-10-12 18:50:47
    #include<iostream>
    using namespace std;
    
    int n,k,b[1000005];
    
    int bit(int x)
    {
    	return x & (-x);
    }
    
    void ad(int w,int zhi)
    {
    	while(w<=n)
    	{
    		b[w]+=zhi;
    		w+=bit(w);
    	}
    }
    
    int zhao(int w)
    {
    	int ans=0;
    	while(w>0)
    	{
    		ans+=b[w];
    		w-=bit(w);
    	}
    	return ans;
    }
    int main()
    {
    	cin>>n>>k;
    	for(int i=1;i<=k;i++)
    	{
    		int m,p;
    		char a;
    		cin>>a;
    		if(a=='A')
    		{
    			cin>>m;
    			cout<<zhao(m)<<endl;
    		}
    		if(a=='B')
    		{
    			cin>>m>>p;
    			ad(m,p);
    		}
    		if(a=='C')
    		{
    			cin>>m>>p;
    			ad(m,-p);
    		}
    	}
    	return 0;
     }

    信息

    ID
    1118
    时间
    200ms
    内存
    512MiB
    难度
    6
    标签
    递交数
    40
    已通过
    14
    上传者