为什么会爆0啊(求助online)

P3368 【模板】树状数组 2

因为爱情
by ___LOSER___ @ 2023-07-06 09:43:55


@[gjy3633842191](/user/616028) # YJJ ```cpp #include <bits/stdc++.h> #define inf 500005 using namespace std; int n,m,a[inf],t[inf],ans[inf],k=0; int lowbit(int x){ return x&(-x); } void add(int x,int y) { for(int i=x;i<=n;i+=lowbit(i)){ t[i]+=y; } } int query(int x){ int ans=0; for(int i=x;i;i-=lowbit(i)) { ans+=t[i]; } return ans; } int main() { //freopen("qt.in","r",stdin); //freopen("qt.out","w",stdout); scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&a[i]),add(i,(a[i]-a[i-1])); //for(int i=1;i<=n+1;i++) cout<<t[i]<<" "; for(int i=1;i<=m;i++) { int a,b; scanf("%d%d",&a,&b); if(a==1){ int c,k; scanf("%d%d",&c,&k); add(b,k),add(c+1,-k); } else if(a==2) { ans[++k]=query(b); } } for(int i=1;i<=k;i++) cout<<ans[i]<<endl; return 0; } ```
by pip202513 @ 2023-07-06 10:07:26


|