patA1085 完美数列 upper_bound()

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=100001;
int num[maxn];
int main(int argc, char** argv) {
int n,p;
scanf("%d%d",&n,&p);
for(int i=0;i<n;i++) scanf("%d",&num[i]);
sort(num,num+n);
int ans=1;
for(int i=0;i<n;i++){
int j=upper_bound(num+i+1,num+n,(long long)num[i]*p)-num;
ans=max(j-i,ans);
}
printf("%d",ans);
  return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_37816373/article/details/80286784