給定乙個正整數數列,和正整數 p,設這個數列中的最大值是 m,最小值是 m,如果 m≤mp,則稱這個數列是完美數列。
現在給定引數 p 和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。
輸入格式:
輸入第一行給出兩個正整數 n 和 p,其中 n(≤10^5 )是輸入的正整數的個數,p(≤10^9 )是給定的引數。第二行給出 n 個正整數,每個數不超過 10^9 。
輸出格式:
在一行中輸出最多可以選擇多少個數可以用它們組成乙個完美數列。
輸入樣例:
10 8
2 3 20 4 5 1 6 7 8 9
輸出樣例:
8
思路:最大值<=最小值*正整數,最大值和最小值都不確定,sort排序後,要雙重迴圈找最大值和最小值。
#include
using
namespace std;
int num[
100005];
intmain()
sort
(num,num+n)
;int all=1;
//計數,最少也要有個最小數
for(
int i=
0; icout<}
pta 乙級 1030 完美數列
1030 完美數列 25 分 給定乙個正整數數列,和正整數 p,設這個數列中的最大值是 m,最小值是 m,如果 m mp,則稱這個數列是完美數列。現在給定引數 p 和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。輸入第一行給出兩個正整數 n 和 p,其中 n 10 5 是輸入的正整數的個數,...
PTA 乙級1030 完美數列 25 分
給定乙個正整數數列,和正整數 p,設這個數列中的最大值是 m,最小值是 m,如果 m mp,則稱這個數列是完美數列。現在給定引數 p 和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。輸入格式 輸入第一行給出兩個正整數 n 和 p,其中 n 10 5 是輸入的正整數的個數,p 10 9 是給定...
PTA 1030 C 實現 完美數列
分析 給定乙個正整數數列,和正整數 p,設這個數列中的最大值是 m,最小值是 m,如果 m mp,則稱這個數列是完美數列。現在給定引數 p 和一些正整數,請你從中選擇盡可能多的數構成乙個完美數列。輸入格式 輸入第一行給出兩個正整數 n 和 p,其中 n 10 5 是輸入的正整數的個數,p 10 9 ...