zoukankan      html  css  js  c++  java
  • PAT (Basic Level) Practice (中文)1030 完美数列 (25 分) (有点意思)

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

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

    输入格式:

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

    输出格式:

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

    输入样例:

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

    输出样例:

    8
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <string>
     4 #include <cstring>
     5 #include <queue>
     6 using namespace std;
     7 int m,n;
     8 double a[100005];
     9 int main()
    10 {
    11     while(cin>>m>>n){
    12         for(int i=0;i<m;i++){
    13             cin>>a[i];
    14         }
    15         sort(a,a+m);
    16         int maxm=1;
    17         for(int i=0;i<m;i++){
    18             for(int j=i+maxm;j<m;j++){
    19                 if(a[j]<=a[i]*n){
    20                     if(maxm<(j-i+1)){
    21                         maxm=j-i+1;
    22                     }
    23                 }else{
    24                     break;
    25                 }
    26             }
    27         }
    28         cout<<maxm<<endl;
    29     }
    30     return 0;
    31 } 
  • 相关阅读:
    【[国家集训队]最长双回文串】
    【[国家集训队]Crash的数字表格 / JZPTAB】
    【YY的GCD】
    【于神之怒加强版】
    【[SDOI2015]约数个数和】
    【[TJOI2010]电影迷】
    【[SDOI2011]拦截导弹】
    【[SDOI2014]数表】
    linux系统编程之管道(三)
    linux系统编程之管道(二)
  • 原文地址:https://www.cnblogs.com/wydxry/p/11186841.html
Copyright © 2011-2022 走看看