fork download
  1. #include <iostream>
  2. #include <vector>
  3. // #include <algorithm>
  4. using namespace std;
  5. int solve(int &n, int &m, vector<int>&nums){
  6. int ans =0;
  7. // sort(nums.begin(), nums.end());
  8. vector<int>freq(m+2);
  9.  
  10. for(int i = 0; i<n; i++) freq[nums[i]]++;
  11. for(int i=m; i>=1; i--) freq[i-1]+=freq[i];
  12. for(int x = 1; x<=m; x++){
  13. int cnt = freq[x];
  14. if(x*2<=m) cnt+=freq[2*x] - freq[2*x+1];
  15. ans = max(ans,cnt);
  16. }
  17. return ans;
  18. }
  19. int main() {
  20. int T;
  21. cin>>T;
  22. while(T--){
  23. int n,m;
  24. cin>>n>>m;
  25. vector<int>v(n);
  26. for(int &a: v) cin>>a;
  27. cout<<solve(n,m,v)<<endl;
  28. }
  29. return 0;
  30. }
Success #stdin #stdout 0s 5316KB
stdin
6
5 4
1 2 3 4 4
5 8
1 1 8 8 8
1 8
6
7 9
1 7 5 1 7 5 3
4 1
1 1 1 1
3 5
3 1 5
stdout
6
6
2
7
4
3