后面几个TLE了
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[100001],f[100001],ans,b[100001];
int main()
{
while(cin>>a[++n])
{
f[n]=1;
}
n--;
b[1]=a[1];
int op=1;
for(int i=1;i<=n;i++)
{
for(int j=1;j<i;j++)
{
if(a[i]<=a[j])
{
f[i]=max(f[i],f[j]+1);
}
}
ans=max(ans,f[i]);
}
for(int i=2;i<=n;i++)
{
if(a[i]<=b[op])
{
int pos=lower_bound(b+1,b+op,a[i])-b;
b[pos]=a[i];
}
else {
b[++op]=a[i];
}
}
cout<<ans<<endl<<op;
return 0;
}