WA求助
查看原帖
WA求助
757214
Gohldg楼主2023/8/8 10:17

样例没过

全部WA

#include <iostream>
using namespace std;
#define int long long
int a[500001];
int c[500001];
int n,m,b,x,y,k;
int lowbit(int x){
	return (x&(-x));
}
int sum(int x){
    int num=0;
    for(int i=x;i>=1;i=i-lowbit(i)){
        num+=c[i];
	}
    return num;
}
int ask(int x,int y){
	return sum(y)-sum(x-1);
}
void add(int x,int y,int k){
    for(int i=x;i<=y;i=i+lowbit(i)){
        c[i]+=k;
	}
}
signed main(){
	cin>>n;
	cin>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		a[i]+=a[i-1];
	}
	for(int i=1;i<=n;i++){
		int l=i-lowbit(i)+1;
		int r=i;
        c[i]=a[r]-a[l-1];
	}
	for(int i=1;i<=m;i++){
        cin>>b;
        if(b==1){
        	cin>>x>>y>>k;
        	add(x,y,k);
		}else{
			cin>>x;
			cout <<sum(x)/2<<endl;
		}
    }
    return 0;
}
2023/8/8 10:17
加载中...