为什么P1020只对了4个点;
#include <bits/stdc++.h>
using namespace std;
const int N=107;
int a[N],len[N],n;
bool cmp1(int a,int b){return a>=b;}
bool cmp2(int a,int b){return a<b;}
void calc(bool (*cmp)(int,int )){
int mx=0;
memset(len,0,sizeof len);
for(int i=1;i<=n;++i){
for(int j=i-1;j;--j){
if(cmp(a[j],a[i])&&len[j]>len[i])
len[i]=len[j];
}
if(mx<++len[i])
mx=len[i];
}
printf("%d\n",mx);
}
int main(){
int x;
while(~scanf("%d",&x))a[++n]=x;
calc(cmp1);
calc(cmp2);
return 0;
}