why?全RE 本地好好的
查看原帖
why?全RE 本地好好的
1412412
k_mod_zero楼主2024/12/2 22:31
#include<bits/stdc++.h> 

using namespace std;
inline int read(){
	int res = 0, f = 1;
	char c = getchar();
	for(;  c <'0'|| c >'9' ; c = getchar()){
		f = (c =='-'?-1: f);
	}
	for(;!(c <'0'|| c >'9'); c = getchar()){
		res = (res << 1)+(res << 3)+(c ^ 48);
	}
	return res * f;
} 

long long s[500010], c[500010], n, m;

int lowb(int n){ return n & -n; }
int add(int p, int x){
	for(int i = p; i <= n; i += lowb(i))c[i] += x;
}
int sum(int p){
	int res = 0;
	for(int i = p; i ; i &= i - 1)res += c[i];
	return res;
}

int main(){
    n = read();
    int m = read();
    for(int i = 1; i <= n; i++){
        s[i] = read() + s[i - 1];
        c[i] = s[i] - s[i & (i - 1)];
    }
    for(int i = 0; i < m; i++){
        int k = read();
        if(k == 1){
        	int p = read(), x = read();
        	add(p, x);
		} else {
			int l = read() - 1, r = read();
			cout << sum(r) - sum(l) <<'\n';
		}
    }
}
2024/12/2 22:31
加载中...