题目描述
给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列。
现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。
输入格式:
输入第一行给出两个正整数N和p,其中N(<= 105)是输入的正整数的个数,p(<= 109)是给定的参数。第二行给出N个正整数,每个数不超过109。
输出格式:
在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。
输入样例:
10 8
2 3 20 4 5 1 6 7 8 9
输出样例:
8
提交代码
1 |
|
个人思考
不知所措…… 代码基本照搬柳婼の代码。然后认真看了一下之前闻所未闻的two-pointer
算法,结果发现好像接触过的快慢指针就是类似的东西。
第一次提交,只拿了两分,对照了一下代码,感觉“没什么问题啊”。然后把long int
改成了跟她写的一样的long long
。再提交,还是只拿了两分,挠头。要不把三目运算符给改回 if-else
语句?第三次提交,好,过了。然后以为是这俩之间的微妙差别,各种查资料,发现不是。最后反反复复对比,终于发现:
喵的一声哭了出来.jpg