#include<bits/stdc++.h>
using namespace std;
long long n;
long long a[50004];
long long f[50010];
long long ans=1;
int main(){
while(cin>>a[n+1])n++;
f[1]=a[1];
for(int i=2;i<=n;i++){
long long l=1,r=ans;
while(l<=r){
long long mid=(l+r)>>1;
if(a[i]>f[mid])r=mid-1;
else l=mid+1;
}
f[l]=a[i];
if(l>ans)ans++;
}
cout<<ans<<endl;
memset(f,0,sizeof(f));
ans=1;
f[1]=a[1];
for(int i=2;i<=n;i++){
long long l=1,r=ans;
while(l<=r){
long long mid=(l+r)>>1;
if(a[i]<=f[mid])r=mid-1;
else l=mid+1;
}
f[l]=a[i];
if(l>ans)ans++;
}
cout<<ans;
return 0;
}
呜呜呜162分求助