fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int f(vector<int>&nums,int k){
  6. int n = nums.size();
  7. int maxi=*max_element(nums.begin(),nums.end())+k+1;
  8. int mini=*min_element(nums.begin(),nums.end())-k;
  9. vector<int>range(maxi-mini+1,0);
  10. for(int i = 0 ; i<n;i++){
  11. range[nums[i]-k-mini]++;
  12.  
  13. range[nums[i]+k+1-mini]--;
  14. }
  15. int sum =0 ; int max_sum = 1; int prev = 0;
  16. for(int i = 0; i<range.size();i++){
  17. sum=sum+range[i];
  18. max_sum = max(max_sum,sum);
  19.  
  20. }
  21. return max_sum;
  22. }
  23.  
  24.  
  25. int main() {
  26. // your code goes here
  27. int n,k; cin>>n>>k;
  28. vector<int>nums(n);
  29. for(int i = 0; i<n;i++){
  30. cin>>nums[i];
  31. }
  32. int ans = f(nums,k);
  33. cout<<ans;
  34. return 0 ;
  35. }
Success #stdin #stdout 0s 5320KB
stdin
7 3
1 10 7 3 12 6 15 
stdout
4