网站开发文档是什么概念,wordpress国外主题下载地址,wordpress 旅游足迹插件,优化设计三年级下册数学答案题目
给定一个正整数数列#xff0c;和正整数 p#xff0c;设这个数列中的最大值是 M#xff0c;最小值是 m#xff0c;如果 M≤mp#xff0c;则称这个数列是完美数列。
现在给定参数 p 和一些正整数#xff0c;请你从中选择尽可能多的数构成一个完美数列。
输入格式和正整数 p设这个数列中的最大值是 M最小值是 m如果 M≤mp则称这个数列是完美数列。
现在给定参数 p 和一些正整数请你从中选择尽可能多的数构成一个完美数列。
输入格式
输入第一行给出两个正整数 N 和 p其中 N≤105是输入的正整数的个数p≤109是给定的参数。第二行给出 N 个正整数每个数不超过 109 。
输出格式
在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。
输入样例
10 8
2 3 20 4 5 1 6 7 8 9输出样例
8分析
先将题给数列用数组a[N]存储然后按升序排序设完美数列长度count0假设第一个数为最小值然后遍历剩余的数满足条件则count。直到a[0]*pa[j]退出循环。设第二个数为最小值从a[1count]开始遍历满足条件则count。直到a[0]*pa[j]退出循环。重复第三步直到将数组元素遍历完。a[i]和p必须至少声明一个为long long int型。因为a[i]*p会超出int范围。如果不声明系统会将结果截断。
#includeiostream
#includealgorithm
using namespace std;
int main()
{int i,j,N;int p;cinNp;long long int a[N],count0;for(i0; iN; i){cina[i];}sort(a,aN);for(i0; iN; i){for(jicount;jN;j){if(a[i]*pa[j]){break; }if(j-i1count)countj-i1;} }coutcount;return 0;
}更多题解 pat 乙级(Basic Level) 题解汇总持续更新C)