Bài 5. Pain (Khảo sát năng lực HS 9 lần 1 - 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một khu công nghiệp theo dõi mức nhiệt độ môi trường tại từng thời điểm trong ngày. Dữ liệu được lưu lại thành một dãy số nguyên, mỗi số biểu thị nhiệt độ đo được tại một thời điểm liên tiếp. Ban quản lý muốn xác định một khoảng thời gian liên tục dài nhất mà môi trường hoạt động được xem là ổn định, theo các tiêu chí sau:

  • Nhiệt độ cao nhất trong khoảng đó không vượt quá ngưỡng an toàn \(X\)
  • Nhiệt độ thấp nhất trong khoảng đó không thấp hơn ngưỡng cho phép \(Y\)
  • Để tránh hiện tượng sốc nhiệt, nhiệt độ cao thứ hai trong khoảng đó không được vượt quá mức \(Z\) (Nếu khoảng thời gian chỉ gồm một thời điểm, tiêu chí này được bỏ qua)

Hãy xác định độ dài lớn nhất của một khoảng thời gian liên tục mà môi trường được xem là ổn định theo các tiêu chí trên.

Input

  • Dòng đầu tiên có 4 số nguyên \(n, X, Y\)\(Z\), lần lượt là số phần tử và các giá trị ở trên \((1 \leq n \leq 10^5, |X|, |Y|, |Z| \leq 10^9)\)
  • Dòng thứ hai chứa \(n\) số nguyên là các giá trị trong mảng \(A\) \((|A_i| \leq 10^9)\); các giá trị có thể âm hoặc dương

Output

  • In ra một số nguyên duy nhất là độ dài lớn nhất của khoảng thời gian ổn định.

Example

Test 1

Input
6 6 -1 5
1 7 6 2 0 5
Output
4
Note

Đoạn từ 3 đến 6 thỏa mãn các điều kiện:

  • Số lớn nhất: \(6 \leq 6\)
  • Số nhỏ nhất: \(0 \geq -1\)
  • Số lớn thứ hai: \(5 \leq 5\)

Scoring

  • Thời gian: 1 giây, Bộ nhớ: 256 MB
  • \(20\%\) số test có ràng buộc bổ sung: \(Z = 10^9\)
  • \(20\%\) số test khác có ràng buộc bổ sung: \(n \leq 10^3\)
  • \(60\%\) số test còn lại không có ràng buộc bổ sung

Bình luận (2)

Mới nhất
Tải bình luận...