#include <iostream> #include <cstdio> #include <algorithm> #include <string.h> #include <cmath> using namespace std; const int maxn=100000+5; long long a[maxn]; int main() { int n,p; scanf("%d %d",&n,&p); int minidx=0; for(int i=0;i<n;i++){ scanf("%lld",&a[i]); } sort(a,a+n); int cnt=0,maxlen=0; for(int i=0;i<n;i++){ if(a[i]<=a[minidx]*p){ cnt++; } else{ if(cnt>maxlen) maxlen=cnt; minidx++; cnt--; i--; } } //最后不要忘了还要判断下。。。 if(cnt>maxlen) maxlen=cnt; printf("%d\n",maxlen); return 0; }
时间: 2024-10-23 22:06:55