就是基本模型,没有什么好说的。
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
const int MAX_N = 10001;
int A[MAX_N];
int f[MAX_N];
int r[MAX_N];
int N=0;
int fans,rans;
int init()
{
int i;
while(cin>>A[++N]);
N--;
}
int work_put()
{
int i,j;
for (i=1;i<=N;i++)
f[i]=r[i]=1;
for (i=1;i<=N;i++)
for (j=i+1;j<=N;j++)
if (f[i]+1>=f[j]&&A[i]>=A[j])
f[j]=f[i]+1;
for (i=1;i<=N;i++)
for (j=i+1;j<=N;j++)
if (r[i]+1>=r[j]&&A[i]<=A[j])
r[j]=r[i]+1;
for (i=1;i<=N;i++)
{
fans=max(fans,f[i]);
rans=max(rans,r[i]);
}
printf("%d\n%d",fans,rans);
}
int main()
{
init();
work_put();
return 0;
}