AC代码
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int n;
long long p;
cin>>n>>p;
vector<long long > myv(n);//测试点5,某些数可以达到10^9*10^9=10^18, int范围不够。
for(int i=0;i<n;i++)
cin>>myv[i];
int result= 0,t=0;
sort(myv.begin(),myv.end());
for(int i=0;i<n;i++)
for(int j=i+result ;j<n;j++)//测试点4,避免超时
{
if( myv[i]*p >= myv[j] )//满足完美数列的条件。
{
t= j-i+1;
if(t>result) result=t;
}
else break;//测试点4,避免超时
}
cout<<result;
return 0;
}