全RE,为啥
查看原帖
全RE,为啥
1048576
New_Void楼主2024/12/20 19:03
#include <iostream>
using namespace std;
int tree[500005];
int n,m;
int lowbit(int x){
    return x & -x;
}
int add(int x,int k){
    while (x<=n){
        tree[x]+=k;
        x+=lowbit(x);
    }
}
int sum(int x){
    int res=0;
    while (x){
        res+=tree[x];
        x-=lowbit(x);
    }
    return res;
}
int main(){
    int x=0;
    cin>>n>>m;
    for (int i=1;i<=n;i++){
        int a;
        cin>>a;
        add(i,a-x);
        x=a;
    }
    for (int i=1;i<=m;i++){
        int a;
        cin>>a;
        if (a==1){
            int b,c,k;
            cin>>b>>c>>k;
            add(b,k);
            add(c+1,-k);
        }
        else{
            int x;
            cin>>x;
            cout<<sum(x)<<endl;
        }
    }
    return 0;
}
2024/12/20 19:03
加载中...