WA了二,三两点求调
查看原帖
WA了二,三两点求调
999053
wzx20110103楼主2023/12/4 21:58
#include <bits/stdc++.h>
using namespace std;
int a[2000001];
deque <int>q;
int ad = 0;
int ans = -10001;

int main() {
	int n, m;
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	for (int i = 1; i <= n; i++) {
		if (ad + a[i] <= 0) {
			while (!q.empty()) {
				q.pop_back();
			}
			ad = 0;
			continue;
		} else {
			ad += a[i];
			q.push_back(i);
		}
		if (q.front() <= i - m) {
			ad -= a[q.front()];
			q.pop_front();
		}
		ans = max(ans, ad);
	}
	cout << ans << endl;
	return 0;
}

想不出来哪错了orz,赏赐一个关注(谢谢谢谢

2023/12/4 21:58
加载中...