题解 | 合唱队形

合唱队形

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

//KY72 合唱队形
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int n, a[105], dp1[105], dp2[105];
int main()
{
    while(cin>>n)
    {
        for(int i=1;i<=n;i++) cin>>a[i];
        for(int i=1;i<=n;i++){
            dp1[i]=1;
            for(int j=1;j<i;j++){
                if(a[i]>a[j]) dp1[i]=max(dp1[j]+1,dp1[i]);
            }
        }
        for(int i=n;i>0;i--){
            dp2[i]=1;
            for(int j=n;j>i;j--){
                if(a[j]<a[i]) dp2[i]=max(dp2[j]+1,dp2[i]);
            }
            //cout<<dp2[i]<<' ';
        }
        int num=1;
        for(int i=1;i<=n;i++){
            num=max(dp1[i]+dp2[i],num);
        }
        cout<<n-num+1<<'\n';
    }
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
zzzilik:没事的,才刚刚开始,后面会捞的,这个三天没人发起面试自动结束,但是面试官还是能看到简历,四月份主战场会慢慢捞
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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