题解 | #合唱队#

合唱队

http://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    vector<int>a;
    int b;
    while(cin>>b)
    {
        for(int i=0;i<b;i++)
        {
            int c;
            cin>>c;
            a.push_back(c);
        }
         vector<int>w;
        for(int i=0;i<b;i++)
        {
             vector<int>d,g;
            d.push_back(a[i]),   g.push_back(a[i]);
            for(int j=i-1;j>=0;j--)
            {
                int f=0;
                for(int m=0;m<d.size();m++)
                {
                if(a[j]<d[m]&&a[j]>d[m+1]&&m+1<=d.size()-1)
                {
                    int e=a[j];
                    swap(d[m+1],e);
                    f=1;
                }
                  
            }
                  if(f==0&&a[j]<d.back())
                    {
                        d.push_back(a[j]);
                    }
                    }
            for(int j=i+1;j<a.size();j++)
            {
                int h=0;
                for(int m=0;m<g.size();m++)
                {
                if(a[j]<g[m]&&a[j]>g[m+1]&&m+1<=g.size()-1)
                {
                    int e=a[j];
                    swap(g[m+1],e);
                    h=1;
                }
                  
            }
                  if(h==0&&a[j]<g.back())
                    {
                        g.push_back(a[j]);
                    } 
        }
            int t=d.size()+g.size()-1;
            if(t>w.size())
            {
                w.clear();
                for(int k=d.size()-1;k>=0;k--)
                {
                    w.push_back(d[k]);
                }
                for(int n=1;n<g.size();n++)
                {
                    w.push_back(g[n]);
                }
            }
    }
       cout<<b-w.size();
    }
    return(0);
}
全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务