第三个点第一问多了1
#include <bits/stdc++.h>
using namespace std;
int n,i,len=1,len1=1;
int a[100010],b[100010],f[100010];
int main(){
while(cin >> n){
a[i] = n;
i++;
}
f[1] = a[1];
for(int j = i;j >=2;j--){
int pos = upper_bound(f+1,f+len+1,a[j])-f;
f[pos] = a[j];
if(pos>len) len++;
}
b[1] = a[1];
for(int j = 2;j <=i;j++){
int pos = lower_bound(b+1,b+len1+1,a[j])-b;
b[pos] = a[j];
if(pos>len1) len1++;
}
cout << len <<endl;
cout << len1;
return 0;
}