zoukankan      html  css  js  c++  java
  • 1031-建筑群最长坡值

    描述

     

    建筑群所有建筑高度分别为h1h2…hN,可以得到一些单调递减的序列hi1hi2…hiK,其长度称为建筑群的坡值,这里1i1< i2<…< iKN

    你的任务:对于给定的建筑群所有建筑高度,求出建筑群最长坡值。

    输入

     

    第一行是建筑群中的建筑数N1N1000)。

    第二行依次给出各个建筑的高度(大小从01000),中间用空格分开。

    输出

     

    建筑群最长坡值

    样例输入

    10

    108 60 79 50 119 40 90 230 20 80

    样例输出

    5

    #include<iostream>
    #include<algorithm>
    using namespace std;
    int main()
    {
        //freopen("a.txt","r",stdin);
        int n,*a,*count,max;
        cin>>n;
        a=(int *)malloc(n*sizeof(int));
        count=(int *)malloc(n*sizeof(int));
        int i,j;
        for(i=0;i<n;i++)
            cin>>a[i];
        for(i=0;i<n;i++)
            count[i]=0;
        count[n-1]=1;
        for(i=n-1;i>=0;i--)
        {
            max=count[i];
            for(j=i+1;j<n;j++)
            {            
                if(a[i]>a[j])
                {
                    if(max<count[j])
                        max=count[j];
                }
                count[i]=max+1;
            }
        }
        max=count[0];
        for(i=0;i<n;i++)
            if(count[i]>max) 
                max=count[i];
        cout<<max<<endl;
        return 0;
    }
    

      

  • 相关阅读:
    类加载器
    会话机制
    数据库读写分离
    代码优化工具
    杀毒软件框架设计
    树状结构
    spring依赖注入
    never stop believe yourself
    利用callKit实现电话防骚扰
    mac上使用使用rz,sz命令
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3436608.html
Copyright © 2011-2022 走看看