p的值要用long long型的,否则结果会溢出。
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long n, p;
cin >> n >> p;
int a[100001];
for(int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a, a + n);
int count = 0;
for(int i = 0; i < n; i++) {
for(int j = i + count - 1; j < n; j++) {
if(a[i] * p < a[j]) {
break;
}
if(j - i + 1 > count) {
count = j - i + 1;
}
}
}
cout << count;
return 0;
}