题解 | #拦截导弹#

拦截导弹

https://www.nowcoder.com/practice/dad3aa23d74b4aaea0749042bba2358a

#include <iostream>
using namespace std;
const int maxn=100;
int dp[maxn];
int a[maxn];
void init(){
    for(int i=0;i<maxn;i++) dp[i]=1;
}
int main() {
    int k;
    while(cin>>k){
        init();
        for(int i=0;i<k;i++){
            cin>>a[i];
        }
        int MAX=0;
        for(int i=0;i<k;i++){
            if(i==0) dp[i]=1;
            else{
                for(int j=0;j<i;j++){
                    if(a[j]>=a[i]) dp[i]=max(dp[i],dp[j]+1);
                }
            }
            MAX=max(MAX,dp[i]);
        }
        cout<<MAX<<endl;


    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务