10分求助
查看原帖
10分求助
780505
x1489631649楼主2024/1/6 23:16
#include <bits/stdc++.h>
using namespace std;
int a[105],s[105];
int main()
{
//	freopen("chorus.in","r",stdin);
//	freopen("chorus.out","w",stdout);
	int n,maxx=0,f;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		if(a[i]>maxx)
		{
			maxx=a[i];
			f=i;
		} 
	}
	s[0]=0;
	for(int i=1;i<=f;i++)
	{
		maxx=0;
		for(int j=0;j<i;j++)
		{
			if(s[j]>maxx&&a[j]<a[i])
				maxx=s[j];
		}
		s[i]=maxx+1;
	}
	int ans=s[f];
	s[n+1]=0;
	for(int i=n;i>=f;i--)
	{
		maxx=0;
		for(int j=n+1;j>i;j--)
		{
			if(s[j]>maxx&&a[i]>a[j])
				maxx=s[j];
		}
		s[i]=maxx+1;
	}
	cout<<ans+s[f]-1;
	return 0;
} 
2024/1/6 23:16
加载中...