这篇代码样例过不了却AC了
查看原帖
这篇代码样例过不了却AC了
400783
Nephren_Sakura楼主2022/1/21 14:11

rt,这是什么回事

#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read(){
	int x=0,f=1;char ch=getchar();
	while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
	while (ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-48;ch=getchar();}
	return x*f;
}
int n=read(),m=read(),sum[1000005],ans=-1e18;
struct node{
	int tim,zhi;
};
deque<node> dq;//单调递增 
signed main(){
	for(int i=1; i<=n; i++)
		sum[i]=sum[i-1]+read();
	dq.push_back(node{(int)1e18,(int)0});
	for(int i=1; i<=n; i++){
		while(dq.empty()==false&&dq.front().tim+m<i)
			dq.pop_front();
		ans=max(ans,sum[i]-dq.front().zhi);
		while(dq.empty()==false&&dq.back().zhi>=sum[i])
			dq.pop_back();
		dq.push_back(node{i,sum[i]});
		ans=max(ans,sum[i]-dq.front().zhi);
	}
	cout<<ans;
    return 0;
}


我已经找出错了,但要不要加强数据

2022/1/21 14:11
加载中...