一半AC, 一半TLE
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e6 + 514;
int a[MAXN], f[MAXN], cnt;
int main(){
int x;
while(cin >> x){
a[cnt++] = x;
}
f[0] = 1;
int as = 1;
for(int i = 1; i < cnt; i++){
f[i] = 1;
for(int j = 0; j < i; j++){
if(a[j] >= a[i]){
f[i] = max(f[i], f[j] + 1);
}
}
}
for(int i = 0; i < cnt; i++){
as = max(as, f[i]);
}
cout << as << endl;
as = 1;
for(int i = 1; i < cnt; i++){
f[i] = 1;
for(int j = 0; j < i; j++){
if(a[j] < a[i]){
f[i] = max(f[i], f[j] + 1);
}
}
}
for(int i = 0; i < cnt; i++){
as = max(as, f[i]);
}
cout << as << endl;
return 0;
}