最后一个测试点TLE了,想不出来如何进一步优化了,求助
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,j,bl=0,cl=0;
cin>>n;
int a[n],b[n],c[n];
cin>>a[0];
b[0]=a[0];
c[0]=a[0];
for(i=1;i<n;i++)
{
cin>>a[i];
b[i]=0x80000000;
c[i]=0x7fffffff;
for(j=bl;j>=0;j--)
if(a[i]<b[j] && a[i]<c[j+1])
{
c[j+1]=a[i];
if(cl<j+1)
cl=j+1;
break;
}
for(j=cl;j>=0;j--)
if(a[i]>c[j] && a[i]>b[j+1])
{
b[j+1]=a[i];
if(bl<j+1)
bl=j+1;
break;
}
}
if(bl>cl)
cout<<bl+1;
else
cout<<cl+1;
return 0;
}