//56274 ylwh 1032 Accepted 180K 0MS C 0.63K 2011-08-15 12:02:47
#include <stdio.h>
#define N 102
int main()
{
int n, i, j, a[N], b[N], s[N], maxs;
while(scanf("%d", &n) != EOF)
{
for(i=0; i<n; i++)
scanf("%d", &s[i]);
a[0] = 1;
for(i=1; i<n; i++)
{
maxs = 0;
a[i] = 1;
for(j=0; j<i; j++)
if(s[j] < s[i] && a[j] + 1 > maxs)
a[i] = maxs = a[j] + 1;
}
b[n-1] = 1;
for(i=n-2; i>=0; i--)
{
maxs = 0;
b[i] = 1;
for(j=n-1; j>i; j--)
if(s[j] < s[i] && b[j] + 1 > maxs)
b[i] = maxs = b[j] + 1;
}
maxs = 0;
for(i=0; i<n; i++)
if(a[i] + b[i] > maxs)
maxs = a[i] + b[i];
printf("%d\n", maxs - 1);
}
return 0;
}
CUGB 1032 登山 【DP】
最新推荐文章于 2023-04-13 11:10:59 发布