#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long LL;
int main()
{
int n, ans = 0, temp = 0;//ans记录完美数列的最大长度
LL p, k;//注意数据类型
vector <LL> v;
cin >> n >> p;
//scanf("%d%lld", &n, &p);
for(int i = 0; i < n; i ++)
{
cin >> k;
//scanf("%lld", &k);
v.push_back(k);
}
sort(v.begin(), v.end());//数组递增排序
for(int i = 0; i < n; i ++)
{
for(int j = i+ans; j < n; j ++)
{
if(v[j] <= v[i]*p){
temp = j - i + 1;
if(temp > ans) ans = temp;
}else{
break;//使用break可以跳过多余的循环,不然会超时
}
}
}
cout << ans << endl;
//printf("%d\n", ans);
return 0;
}
PAT B.1030 完美数列 (25分)
最新推荐文章于 2021-03-02 22:24:21 发布