DOICHIEU - Dãy con đổi chiều dài nhất
Dữ liệu vào: Standard input
Dữ liệu ra: Standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: Ngapt

Cho dãy số a gồm n số nguyên a1, a2,... an. Hãy tìm dãy con đổi chiều dài nhất của dãy đó. Dãy con con đổi chiều ai1,ai2,... aik phải thoả mãn các điều kiện sau:

ai1 < ai2 > ai3 <... hoặc ai1 > ai2 < a i3 >... các chỉ số phải cách nhau ít nhất L trong dãy a ban đầu: i2 - i1 ≥ L, i3 -i2 ≥ L, ... chênh lệch giữa 2 phần tử liên tiếp trong dãy con không lớn hơn U: |ai1 - ai2| ≤ U, |ai2 - ai3| ≤ U, ...

Ví dụ: Cho dãy 10 phần tử: -1, 3, -4, 13, 6, 9, -2, 12,  -3, 15  và L=2 và U=3

Có 1 dãy con đổi chiều dài nhất là: -1, -4, -2, -3

Dữ liệu: 

  • Dòng đầu tiên ghi 3 số nguyên dương n, L, U (n <103; 1<L<n-1; 0 < U < 1000);
  • Các dòng tiếp theo ghi n số của dãy a; (|ai| <= 32000);

Kết quả:  Ghi ra một số duy nhất tương ứng là độ dài dãy con đổi chiều dài nhất tìm được;

Ví dụ

Input:

20 2 4

1 -2 5 -4 3 -2 -1 -2 4 -7 9 -8 6 -4 0 1 -5 2 2 0

Output:

7

Back to Top