zoukankan      html  css  js  c++  java
  • PAT-B-1030

    1030 完美数列(25 分)

    给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 Mmp,则称这个数列是完美数列。

    现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。

    输入格式:

    输入第一行给出两个正整数 N 和 p,其中 N(105​​)是输入的正整数的个数,p(109​​)是给定的参数。第二行给出 N 个正整数,每个数不超过 109​​。

    输出格式:

    在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。

    输入样例:

    10 8
    2 3 20 4 5 1 6 7 8 9
    

    输出样例:

    8
    使用迭代法会快得多!递归会Timeout!
    int Itera(int* A, int N, int P){
        int i, j, maxLength=0;
        
        for( i=0, j=0; j<N; i++){/*more fast: think of why j < N*/
            for( ; j<N; j++)
                if( A[j] > 1L*A[i]*P )
                  break;
            if( (j-i) > maxLength )
              maxLength = j-i;
        }
        
        return maxLength;
    }
    C 语言实现


  • 相关阅读:
    D触发器深入详细介绍(zhuanzai)
    脉冲
    数字电路中时序
    嵌入式中对某一位清0或置1
    8本推荐阅读的UX书籍
    Hadoop之HDFS的Shell操作
    Hadoop之HDFS概述
    Hadoop之搭建完全分布式运行模式
    Hadoop之运行模式
    Hadoop之运行环境搭建
  • 原文地址:https://www.cnblogs.com/EasonDongH/p/9530864.html
Copyright © 2011-2022 走看看