请求数据加强
查看原帖
请求数据加强
41941
鹰击长空楼主2022/11/20 11:44
4 4
4 4 -1 -1

我的AC代码输出4

#include<bits/stdc++.h>
using namespace std;

typedef long long ll;

inline int read(){
	int w=0,f=1; char c;
	while(!isdigit(c=getchar())) c=='-'&&(f=-1);
	while(isdigit(c)) w=w*10+(c^48),c=getchar();
	return w*f;
}

#define N 500005

int n,m;
ll ans;
ll sum[N];
deque<ll> q;

int main(){
	int i;
	n=read(),m=read();
	for(i=1;i<=n;i++) sum[i]=sum[i-1]+read(),ans=max(ans,sum[i]-sum[i-1]);
	
	for(i=1;i<=n;i++){
		while(!q.empty()&&sum[q.back()]>=sum[i]) q.pop_back();
		q.push_back(i);
		while(!q.empty()&&q.front()<i-m) q.pop_front();
		ans=max(ans,sum[i]-sum[q.front()]);
	}
	
	cout<<ans<<endl;
	return 0;
}

2022/11/20 11:44
加载中...