最小覆盖问题.cpp 402 B

1234567891011121314151617181920212223
  1. #include <cstdio>
  2. #include <iostream>
  3. #include <algorithm>
  4. using namespace std;
  5. int a[200010];
  6. int main() {
  7. int n,k,ans=1,i,start;
  8. cin>>n>>k;
  9. for(i=0; i<n; i++) {
  10. cin>>a[i];
  11. }
  12. sort(a,a+n);
  13. start=0;
  14. for(i=1; i<n; i++) {
  15. if(a[i]-a[start]>k) {
  16. ans++;
  17. start=i;
  18. }
  19. }
  20. cout<<ans<<endl;
  21. return 0;
  22. }