/ SB域 /

记录详情

Wrong Answer


  
# 状态 耗时 内存占用
#1 Wrong Answer 成绩取消 0ms 0 Bytes

代码

#include <cstdio>
#include <queue>
using namespace std;

int read()
{
	int x=0,f=1;char c=getchar();
	while (c<'0' || c>'9'){if (c=='-')f=-1;c=getchar();}
	while (c>='0'&&c<='9'){x=(x<<1)+(x<<3)+c-48;c=getchar();}
	return x*f;
}

const int MAXN=500005;
int n,x,y,ans=-99999999,res;
int a[MAXN],sum[MAXN];
deque<int> Q;

int main()
{
	n=read();x=read();y=read();
	for (int i=1;i<=n;i++) sum[i]=sum[i-1]+(a[i]=read());
	for (int i=1;i<=n;i++)
	{
		while (!Q.empty()&&sum[i-x]<sum[Q.back()])Q.pop_back();
		Q.push_back(i-x);
		while (!Q.empty()&&i-Q.front()>y)Q.pop_front();
		res=sum[i]-sum[Q.front()];
		if (i>x)ans=max(ans,res);
	}
	printf("%d\n",ans);
	return 0;
}

信息

递交者
类型
递交
题目
【模板】最大子序和
题目数据
下载
语言
C++
递交时间
2019-05-04 11:40:57
评测时间
2019-05-04 11:41:04
评测机
分数
0
总耗时
0ms
峰值内存
0 Bytes