读错题,,以为是输出最大的数,,
其实是求最多能有多长的长度
思路复杂了
唉
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
int n;
long long p;
int num[110000]; //最小开到这,不然会错误
int main(){
scanf("%d%lld",&n,&p);
for(int i=0; i<n; i++){
scanf("%lld",&num[i]);
}
sort(num,num+n);
int ans = 0, result = 0;
for(int i=0; i<n; i++){
for(int j=i+result; j<n; j++){ //i+result 不然会超时
if(num[j] <= num[i] * p){
result = j-i+1;
if(result > ans){
ans = result;
}
}
else break;
}
}
printf("%d",ans);
return 0;
}