DÃY CON TĂNG DÀI NHẤT

Dãy con tăng dài nhất của dãy ~ a_1, a_2, …,a_n ~ là dãy ~ 1≤p_1< p_2< …<p_k≤n ~ (trong đó ~ k ~ là số nguyên lớn nhất) sao cho ~ a_{p_1}<a_{p_2}<…<a_{p_k} ~. Sau khi được học về bài toán dãy con tăng dài nhất, là một học sinh thông minh, thích khám phá nhiều điều mới lạ nên An đã thay đổi một chút nội dung của bài toán này. Trước tiên, An chọn một đoạn con liên tiếp trong dãy ~ a_1, a_2, …,a_n ~ và một số nguyên ~ d (-x≤ d≤x) ~. An thực hiện tăng giá trị các phần tử trong đoạn con đó lên ~ d ~ (~ d ~ có thể bằng 0). Sau phép biến đổi, độ dài của dãy con tăng dài nhất sẽ dài hơn và An muốn biết độ dài này là bao nhiều. Các bạn hãy viết chương trình giúp An nhé!

Dữ liệu vào:

  • Dòng đầu gồm hai số nguyên ~ n ~ và ~ x ~ ~ (1 ≤n ≤ 200000; 0 ≤x ≤ 10^9) ~ lần lượt là độ dài của dãy ban đầu và giới hạn cho giá trị ~ d ~.
  • Dòng thứ hai gồm ~ n ~ số nguyên ~ a_1, a_2, …,a_n 1≤a_i≤10^9, i=1..n ~

Các số trên một dòng của input file được ghi cách nhau bởi dấu cách.

Kết quả: ghi một số nguyên duy nhất là độ dài của dãy con tăng dài nhất sau phép biến đổi.

Ví dụ:

Input

8 10
7 3 5 12 2 7 3 4 
Output
5 

Ràng buộc:

  • 30% số điểm tương ứng với 30% số test có ~ n≤ 1000 ~;
  • 30% số điểm tương ứng với 30% số test có ~ x = ~ 0;
  • 40% số điểm tương ứng với 40% số test không có ràng buộc gì thêm.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. hanngocdat (13/28)
  2. quan2728 (7/12)
  3. tribinh (4/5)
Trong 7 ngày
  1. hanngocdat (18/39)
  2. quocchinh96bl (17/59)
  3. duckyo123 (16/29)
Trong 30 ngày
  1. caubeioi (130/212)
  2. nhatanh (73/109)
  3. hanngocdat (72/154)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38312

Lưu Hải Phong - 2020
[email protected]