比赛 EYOI与SBOI开学欢乐赛6th 评测结果 AAWWWWAWWW
题目名称 简短的题目 最终得分 30
用户昵称 00000 运行时间 0.217 s
代码语言 C++ 内存使用 6.53 MiB
提交时间 2022-09-19 19:49:00
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n,a[200000],l,r,s[200000];
bool check7()
{
	int flag=0;
	for(int q=1;q<=n;q++) if(a[q]) flag=1;
	if(flag==0)
	{
		for(int q=1;q<=n;q++) cout<<"0"<<" ";
		return 1;
	}
	return 0;
}
bool check27()
{
	int flag=0;
	for(int q=2;q<=n;q++) if(a[q]!=a[q-1]) flag=1;
	if(flag==0)
	{
		int d=a[1],x=l*d,y=r*d;
		if(d>=0) 
		for(int q=1;q<=n;q++) cout<<y<<" ";
		else for(int q=1;q<=n;q++) cout<<x<<" ";
		return 1;
	}
	return 0;
}
bool check1()
{
	int flag=0;
	if(n>10) flag=1;
	if(flag==0)
	{
		for(int q=1;q<=n;q++)
		{
			int ans=-0x3f3f3f3f;
			for(int w=1;w<=n;w++)//l
			{
				for(int e=1;e<=n;e++)//r
				{
					if(e-w+1>=l&&e-w+1<=r&&w<=q&&e>=q) ans=max(ans,s[e]-s[w-1]);
				}
			}
			cout<<ans<<" ";
		}
		return 1;
	}
	return 0;
}
bool check4()
{
	int flag=0;
	for(int q=1;q<=n;q++) if(a[q]!=q) flag=1;
	if(flag==0)
	{
		for(int q=1;q<=n;q++)
		{
			if(q+r-1<=n) cout<<s[q+r-1]-s[q-1]<<" ";
			else cout<<s[n]-s[n-r]<<" ";
		}
		return 1;
	}
	return 0;
}
int main(){
	freopen("wwydatsv.in","r",stdin);
	freopen("wwydatsv.out","w",stdout);
cin>>n>>l>>r;
for(int q=1;q<=n;q++) cin>>a[q];
for(int q=1;q<=n;q++) s[q]=s[q-1]+a[q];
//if(check7()) return 0;
if(check27()) return 0;
if(check1()) return 0;
if(check4()) return 0;

return 0;
}