注意點:暴力解題(排序後直接遍歷所有的可能符合條件序列)+小技巧(找到了一個局部的最大值後,下一次找的序列長度不從0開始而從局部的最大值開始)
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int i,N,p,max=1;
cin>>N>>p;
long *a=new long[N];
for(i=0;i<N;i++)
cin>>a[i];
sort(a,a+N);
for(i=0;i<N-1;i++){
for(int j=i+max;j<N;j++)
if(a[j]>a[i]*p)
break;
max=j-i;
}
cout<<max;
}