AcWing 1017. 怪盗基德的滑翔翼
原题链接
简单
#include<bits/stdc++.h>
using namespace std;
int a[105],u[105],d[105];
int main()
{
int T;
cin>>T;
while(T--){
memset(a,0,sizeof(a));
memset(u,0,sizeof(a));
memset(d,0,sizeof(a));
int n,mx=-0x3f3f3f3f;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
u[i]=1;
for(int j=1;j<i;j++){
if(a[j]<a[i])u[i]=max(u[j]+1,u[i]);
}
if(u[i]>mx)mx=u[i];
}
for(int i=n;i>0;i--){
d[i]=1;
for(int j=n;j>i;j--){
if(a[j]<a[i])d[i]=max(d[j]+1,d[i]);
}
if(d[i]>mx)mx=d[i];
}
cout<<mx<<endl;
}
return 0;
}