90pts求助
  • 板块P9147 签到题
  • 楼主xdd5689
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/3/26 22:24
  • 上次更新2023/10/23 20:21:18
查看原帖
90pts求助
447941
xdd5689楼主2023/3/26 22:24
#include<bits/stdc++.h>
#define l long long
using namespace std;
struct xdd
{
	l ks,js,cd;
}a[1000006];
l n,x[1000006],aa,cdmax=-1e9;
int main()
{
    cin>>n;
    for(l i=1;i<=n;i++)
    {
    	cin>>x[i];
    	if(i==1)
    	{
    		a[++aa].ks=i;
		}
		else
		{
			if(x[i]<=x[i-1])
			{
				a[aa].js=i-1;
				a[aa].cd=a[aa].js-a[aa].ks+1;
				a[++aa].ks=i;
				cdmax=max(cdmax,a[aa].cd);
			}
		}
	}
	a[aa].js=n;
	a[aa].cd=n-a[aa].ks+1;
	cdmax=max(cdmax,a[aa].cd);
	if(cdmax!=n) cdmax++;
	
	for(l i=2;i<=aa;i++)
	{
		if(a[i].cd==1)
		{
			cdmax=max(cdmax,a[i-1].cd+1);
		}
		else if(a[i-1].cd==1)
		{
			cdmax=max(cdmax,1+a[i].cd);
		}
		else
		{
			if(x[a[i-1].js]==x[a[i].ks])
			{
				if(x[a[i-1].js-1]<x[a[i-1].js]-1||x[a[i].ks]+1<x[a[i].ks+1])
				{
					cdmax=max(cdmax,a[i-1].cd+a[i].cd);
				}
			}
			else
			{
				if(x[a[i].ks+1]-2>=x[a[i-1].js]||x[a[i].ks+1]>=x[a[i-1].js-1]+2)
				{
					cdmax=max(cdmax,a[i-1].cd+a[i].cd);
				}
			}
		}
	}
	printf("%lld",cdmax);
    return 0;
}

rt,#31wa

2023/3/26 22:24
加载中...