fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. ios_base::sync_with_stdio(false);
  8. cin.tie(NULL);
  9.  
  10. int n;
  11. long long k;
  12. if (!(cin >> n >> k)) return 0;
  13.  
  14. vector<long long> a(n);
  15. for (int i = 0; i < n; ++i) {
  16. cin >> a[i];
  17. }
  18.  
  19. vector<int> left_mins;
  20. left_mins.push_back(0);
  21. for (int i = 1; i < n; ++i) {
  22. if (a[i] < a[left_mins.back()]) {
  23. left_mins.push_back(i);
  24. }
  25. }
  26.  
  27. int ans = -1;
  28. for (int j = n - 1; j >= 0; --j) {
  29. while (!left_mins.empty() && a[j] - a[left_mins.back()] >= k) {
  30. if (j > left_mins.back()) {
  31. ans = max(ans, j - left_mins.back());
  32. }
  33. left_mins.pop_back();
  34. }
  35. }
  36.  
  37. cout << ans << "\n";
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 5320KB
stdin
5 5
1 5 2 6 7
stdout
4