1286:怪盗基德的滑翔翼

怪盗基德的滑翔翼

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 const int N=105;
 5 
 6 int a[N],b[N],c[N];
 7 int main(){
 8     int t,n,maxx;
 9     cin>>t;
10     while(t--){
11         cin>>n;
12         maxx=0;
13         for(int i=1;i<=n;i++)scanf("%d",&a[i]);
14         //上升子序列
15         for(int i=1;i<=n;i++){
16             b[i]=1;
17             for(int j=1;j<i;j++)
18                 if(a[i]<a[j])b[i]=max(b[i],b[j]+1);
19             maxx=max(maxx,b[i]);
20         }
21         //上升子序列
22         for(int i=n;i>0;i--){
23             c[i]=1;
24             for(int j=i+1;j<=n;j++)
25                 if(a[i]<a[j])c[i]=max(c[i],c[j]+1);
26             maxx=max(maxx,c[i]);
27         }
28         cout<<maxx<<endl;
29     }
30     return 0;
31 }

 

posted @ 2021-08-15 16:06  Rekord  阅读(569)  评论(0编辑  收藏  举报