#include<bits/stdc++.h>
using namespace std;
int a[114514],dp[114514],n,len=1,len2=1,x;
bool cmp(int a,int b){
return a>b;
}
int main(){
while(cin>>x)a[++n]=x;
dp[1]=a[1];
for(int i=2;i<=n;i++){
if(dp[len]>=a[i])dp[++len]=a[i];
else dp[upper_bound(dp+1,dp+len+1,a[i],cmp)-dp]=a[i];
}
for(int i=2;i<=n;i++){
if(dp[len2]<a[i])dp[++len2]=a[i];
else dp[lower_bound(dp+1,dp+len2+1,a[i])-dp]=a[i];
}
cout<<len<<"\n"<<len2;
return 0;
}
读入
5 6 8 7 41 6 5 55 5 5 5 5
正确输出
8
5
我的输出
8
4