【B1030】完美數列
阿新 • • 發佈:2019-01-29
題目描述:
給定一個正整數數列,和正整數p,設這個數列中的最大值是M,最小值是m,如果M <= m * p,則稱這個數列是完美數列。
現在給定引數p和一些正整數,請你從中選擇儘可能多的數構成一個完美數列。
輸入格式:
輸入第一行給出兩個正整數N和p,其中N(<= 105)是輸入的正整數的個數,p(<= 109)是給定的引數。第二行給出N個正整數,每個數不超過109。
輸出格式:
在一行中輸出最多可以選擇多少個數可以用它們組成一個完美數列。
輸入樣例:10 8 2 3 20 4 5 1 6 7 8 9輸出樣例:
8
提交程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stdio.h> #include <algorithm> using namespace std; int main(void) { int n,p; scanf("%d %d",&n,&p); int arr[n],i; for(i=0;i<n;i++){ scanf("%d",&arr[i]); } sort(arr,arr+n); int count=1,j=0,k=0; while(j<n&&k<n){ while |