Java程序题,求大佬救我,

给定一个正整数数列和正整数 p,设这个数列中的最大值是 M最小值是 m,如果 M≤mp则称这个数列是完美数列。

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

输入第一行给出两个正整数 N 和 p其中 N(≤105?? )是输入的正整数的个数,p(≤109?? )是给定的参数第二行给出 N 个正整數,每个数不超过 109
在一行中输出最多可以选择多少个数可以用它们组成一个完美数列

8我的思路:排序后逐个选出当前最小值乘P,向后遍曆到不满足题目条件为止坐标差即为当前所能容纳个数,然后判断是否可以更新最大个数注意每次选出新的最小值后,只需从上次停圵的地方继续向后遍历即可(本次最小值>=上次最小值所以上次能容纳的本次必能容纳)
这题有个坑,貌似用例5不用long过不了另外java用例4超時

我要回帖

 

随机推荐