WA+TLE 4分
#include<bits/stdc++.h>
using namespace std;
int a[1000010],b[1000010],c[1000010],len=0,len1=0;
int main()
{
int k=1;
while(cin>>a[k++])
for(int i=1;i<=k;i++)
{
int p=lower_bound(b+1,b+1+len,a[i])-b;
if(p<=len)
{
b[p]=a[i];
}
else
{
b[++len]=a[i];
}
}
cout<<len<<endl;
for(int i=1;i<=k;i++)
{
int p=upper_bound(c+1,c+1+len1,a[i])-c;
if(p<=len1)
{
c[p]=a[i];
}
else
{
c[++len1]=a[i];
}
}
cout<<len1;
return 0;
}