只得了60分,求大佬康康
查看原帖
只得了60分,求大佬康康
1088022
hxk2051791339楼主2024/2/23 20:07
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,sum=1;
	cin>>n;
	int a[n],b[n];
	for(int i=0;i<n;i++) cin>>a[i];
	for(int i=0;i<n;i++) b[i]=1;
	for(int i=0;i<n;){
		if(a[i]>=a[i+1])	i++;
		else{
			int m=1;
			while(i<n-1&&a[i]<a[i+1]){
				m++;
				i++;			
			}
			int a=i;
			sum=max(sum,m);
			for(int j=m;j>0;j--) b[a--]=m;
			if(i==n-1) break;
		}
	}
	for(int i=1;i<n-1;i++){
		if(a[i-1]+1>=a[i+1]||(a[i-1]<a[i]&&a[i]<a[i+1])) continue;
		else if(b[i]!=1){
			sum=max(sum,b[i-1]+b[i+1]);
		}	
		else sum=max(sum,b[i-1]+b[i+1]+1);
	}
	cout<<sum;
	return 0; 
}
2024/2/23 20:07
加载中...