1030 完美数列 (25 分)

摺耳喵 摺耳喵 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
帮忙找个测试点吧,真的找不到了
https://pintia.cn/problem-sets/994805260223102976/problems/994805291311284224
给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。

现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。

输入格式:
输入第一行给出两个正整数 N 和 p,其中 N(≤10^​5​​ )是输入的正整数的个数,p(≤10^​9​​ )是给定的参数。第二行给出 N 个正整数,每个数不超过 10^​9​​ 。

输出格式:
在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。

输入样例:
10 8
2 3 20 4 5 1 6 7 8 9
输出样例:
8
#include <iostream>
#include <set>
using namespace std;
int main() {
int N, tmp;
long p;
cin >> N >> p;
multiset<int>st;
for (int i = 0; i < N; ++i) {
cin >> tmp;
st.insert(tmp);
}
int cnt = 0;
for (auto& it : st) {
if (*st.rbegin() <= it * p)
break;
cnt++;
}
cout << st.size() - cnt;
return 0;
}
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
摺耳喵
C++ 语言 65,214 成员 250,514 内容