AcWing 1017. 怪盗基德的滑翔翼

#include<iostream>
using namespace std ;
const int N=110;
int f[N],g[N];
int w[N];
int main() {
    int t;
    cin>>t;
    while(t--) {
        int n;
        cin>>n;
        int  res=0;
        for(int i=1; i<=n; i++) cin>>w[i];
        for(int i=1; i<=n; i++) {
            f[i]=1;
            for(int j=1; j<i; j++) {
                if(w[i]>w[j]) f[i]=max(f[i],f[j]+1);
            }
            res=max(res,f[i]);
        }
        for(int i=n; i>=1; i--) {
            g[i]=1;
            for(int j=n; j>i; j--) {
                if(w[i]>w[j]) g[i]=max(g[i],g[j]+1);
            }
            res=max(res,g[i]);
        }
        cout<<res<<endl;
    }
    return 0;
}

 

 

posted @ 2019-11-27 21:03  晴屿  阅读(208)  评论(0编辑  收藏  举报