WA自动机
查看原帖
WA自动机
1121499
__yrm__ZE楼主2023/10/11 13:51
#include <iostream>
#include <cstring>

using namespace std;

const int N = 114514;
int b[N];
int n,m,maxn=-1;

int lowbit(int x){
	return x & (-x);
}

void add(int p, int v) {
    while (p <= n) {
        b[p] += v;
        p += lowbit(p);
    }
}

int ansum(int p) {
    int sum = 0;
    while (p > 0) {
        sum += b[p];
        p -= lowbit(p);
    }
    return sum;
}

int main(){
	cin >> n >> m;
	for(int i=1;i<=n;i++){
		int a,b;
		cin >> a >> b;
		add(a,b);
	}
	for(int i=m;i<=n;i++){
		maxn=max(maxn,ansum(i-1)-ansum(i-n-1));
	}
	cout << maxn << endl;
	return 0;
}

搬运自树状数组1及对应AC代码

看了一眼tj但是似乎没有什么区别...

2023/10/11 13:51
加载中...