#include<iostream>#include<algorithm>//使用sort函數#include<vector>using namespace std;typedef long long int lint;int main(void){ //freopen("in.txt", "r", stdin); lint N, p; cin >> N >> p; vector<lint> seq(N);//存儲元素 for (int i = 0; i < N; i++) cin >> seq[i]; sort(seq.begin(), seq.end());//升序 int m = 0, num;//分別為起始位置, 元素個數 int M = 0, cnt = 0;//分別為終點位置, 最大個數 while (m < N)//循環 { lint range = seq[m] * p;//滿足條件的元素最大值 while (M < N && seq[M] <= range) M++; num = M - m; cnt = max(cnt, num);//更新最大個數 if (M == N)//已到序列末尾,跳出 break; else m++; } cout << cnt << endl; return 0;}
新聞熱點
疑難解答