明明代码运行停止工作却AC了........
查看原帖
明明代码运行停止工作却AC了........
600235
miku_39c5bb楼主2022/7/24 12:12

明明代码运行停止工作却AC了,在第15行加一个if(!q.empty())的判断就能运行了,但是第六个点WA,离谱。

代码如下:

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

int n,m,s[1000010],ans=0,a[1000010];
deque<int> q;

int main(){
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		s[i]=s[i-1]+a[i];
	}
	for(int i=1;i<=n;i++){
		if(!q.empty()&&q.front()<=q.back()&&i-m>q.front()) q.pop_front();
		ans=max(ans,s[i]-s[q.front()]);
		while(!q.empty()&&q.front()<=q.back()&&s[q.back()]>=s[i]) q.pop_back();
		q.push_back(i);
	}
	if(ans<0) cout<<"0";
	else cout<<ans;
}

其实这是一道被诅咒的题

2022/7/24 12:12
加载中...