BarackObama 2013-02-18 03:38:00
点我顶贴
收藏
删除
#include<stdio.h>
#include<stdlib.h>
int main()
{
long n,a[5010],f[5010],g[5010],i,j,max,min;
scanf("%d",&n);
for(i=1;i<=n;i++)scanf("%d",&a[i]);
memset(f,0,sizeof(f));
memset(g,0,sizeof(g));
g[n]=1;
f[n]=1;
for(i=n-1;i>=1;i--)
{
max=0;min=0;
for(j=i+1;j<=n;j++)
{
if((a[i]>a[j])&&(max<f[j]))max=f[j];
if((a[i]<a[j])&&(min<g[j]))min=g[j];
}
f[i]=max+1;g[i]=min+1;
}
max=0;min=0;
for(i=1;i<=n;i++)
{
if(f[i]>max)max=f[i];
if(g[i]>min)min=g[i];
}
printf("%d %d",max,min);
return 0;
}