树状数组 RE 求调
查看原帖
树状数组 RE 求调
351679
shaun2000楼主2024/8/5 19:36

record

#include<bits/stdc++.h>

using namespace std;
int n,m;
int lowbit(int a){return a&(-a);}
int c[500005];
int sum(int x)
{
    int res=0;
    for(int i=x;i;i-=lowbit(i))
        res+=c[i];
    return res;

}
int add(int x,int y)
{
    for(int i=x;i<=n;i+=lowbit(i))
        c[i]+=y;
}

int main(){
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        int x;
        scanf("%d",&x);
        add(i,x);
    }

    for(;m;m--)
    {
        int op,x,y;
        scanf("%d%d%d",&op,&x,&y);

        if(op==1)
        {
            add(x,y);
        }
        else
        {
            printf("%d\n",sum(y)-sum(x-1));
        }

    }
    return 0;
}
2024/8/5 19:36
加载中...