Warning: sometime time limited
AC CODE:
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
long long n,p;
cin >> n>>p;
long long *num;
num = (long long *)malloc(sizeof(long long)*n);
for(int i = 0 ; i < n ; i ++){
cin >>num[i];
}
int len = 0 ;
sort(num,num+n);
//for(int i = 0 ; i < n ; i ++){
// cout<< num[i]<<endl;
//}
int j = 0;
for(int i = 0 ;i < n ; i ++){
// cout<<j<<" "<<len<<endl;
/* for(j = i+1 ;j < n ; j ++){
if(num[i]*p < num[j] ){
break;
}
}
*/ //Time limited
while(j < n &&num[j] <= num[i] * p) j ++;//Accept
//cout<<j <<endl;
len = (j-i) > len ? (j-i) : len ;
}
cout<<len<<endl;
return 0;
}