算法点: 滑动窗口算法
测试点1 需要注意的是溢出问题--> p是很大的数
在下面做乘法时会溢出
#include <bits/stdc++.h>
using namespace std;
int main(){
long long n,p;
cin >> n >> p;
long long a[n];
for(long long i=0;i<n;i++){
cin >> a[i];
}
sort(a,a+n);
long long left = 0, right = 0, len = 0;
while(right < n){
right++;
while(a[right] > p * a[left]){ //乘法计算会有溢出风险
left++;
}
len = max(right - left + 1,len);
}
cout << len;
return 0;
}