萌新求助
查看原帖
萌新求助
735563
Sincerity_Amiya楼主2024/1/25 12:16
#include<bits/stdc++.h>

using namespace std;

long long n,m,ans = -999;
long long a[9000000],sum[9000000];

deque<int> s;

int main()
{
	cin >> n >> m;
	for(int i = 1;i <= n;i++) cin >> a[i];

	for(int i = 1;i <= n;i++) sum[i] = sum[i - 1] + a[i];

	for(int i = 1;i <= n;i++)
	{
		while(!s.empty())
		{
			if(sum[s.back()] > sum[i]) s.pop_back();
			else break;
		}
		s.push_back(i);
		while(i - s.front() > m) s.pop_front();
		ans = max(ans,sum[i] - sum[s.front()]);
	}

	cout << ans << "\n";

	return 0;
}

2024/1/25 12:16
加载中...