EIU Olympic Contest 2025 - C: Sad Memories
Xem dạng PDFTháng mười hai, trời Đà Lạt vẫn còn lất phất những cơn mưa mỏng, như ai đó đang giấu đi nước mắt của mình trong sương. Tăng ngồi bên khung cửa gỗ cũ, đôi mắt nhìn xa xăm qua lớp hơi nước đọng trên kính, nơi những ánh đèn vàng phản chiếu mờ ảo. Cạnh anh là chiếc laptop đã cũ, màn hình sáng nhẹ, dòng chữ nhấp nháy của một bài toán chưa hoàn thành.
Trên bàn, có một tấm ảnh đã nhòe màu đó là tấm hình duy nhất của người con gái từng đi bên anh suốt những ngày tuổi trẻ. Họ từng cùng nhau ngồi giải những bài toán khó, từng thức trắng đêm trước kỳ thi, từng hứa rằng sẽ cùng đi đến cuối con đường. Nhưng rồi, giống như những con số biến mất khi xóa dòng code, em đã rời xa - nhẹ nhàng, mà vẫn khiến lòng Tăng như đổ sập.
Anh mở lại những file cũ, và bất ngờ thấy một bài tập mà em từng viết nửa chừng. Trên đó, chỉ có vài dòng ghi chú, nguệch ngoạc như vội:
"Dãy số ~A~ gồm ~N~ phần tử. Với mỗi ~K~, hãy tìm đoạn dài nhất... nơi mọi thứ vẫn chưa vượt quá giới hạn của mình.""
Tăng mỉm cười buồn. Em khi ấy luôn thích ví von những con số như cảm xúc - khi ta yêu ai quá nhiều, chính là lúc cảm xúc vượt ngưỡng, và mọi thứ tan vỡ. Có lẽ, ~K~ chính là giới hạn mà con người có thể chịu đựng được - vượt qua nó, mọi thứ sẽ không còn nguyên vẹn nữa.
Dãy số ~A~ vẫn nằm đó, im lặng trên màn hình như một dòng ký ức bất tận:
- Dãy số ~A~ gồm các giá trị ~a_1, a_2, ..., a_N~, còn với Tăng đây lại là những mảnh vụn ký ức về những ngày bên em.
- Có những giá trị âm được Tăng xem như những lần cãi vã, những tổn thương, những đêm mưa buồn.
- Có giá trị dương như những phút vui vẻ hạnh phúc, những buổi cà phê sớm, những chiều dạo hồ, tiếng cười trong trẻo.
Giờ đây, Tăng được trao một con số ~K~, và anh tự hỏi:
"Liệu trong chuỗi ký ức ấy, đoạn dài nhất mà anh vẫn có thể chịu đựng - không để bất kỳ cảm xúc nào vượt quá ngưỡng K - sẽ dài đến đâu?""
Và thế là anh lại gõ, từng dòng, từng dòng... Như thể đang lần tìm lại ranh giới giữa nỗi nhớ và sự chịu đựng, giữa những gì còn có thể giữ và những gì buộc phải buông.
Cuối cùng đến lúc đêm xuống. Tăng sau khi đã hoàn thành những dòng code, anh khẽ nhấn Enter, và chương trình chạy. Những con số lần lượt hiện ra - gọn gàng, lạnh lùng, nhưng đối với anh, đó là câu trả lời cho một nỗi nhớ. Anh không còn gặp em nữa. Nhưng mỗi lần gõ code, mỗi lần nhìn vào những dãy số, anh vẫn thấy dáng người con gái ấy mỉm cười - trong một đoạn con liên tiếp nhưng không bao giờ đứt, nằm mãi trong trái tim anh. 💔
Input
- Dòng đầu chứa hai số nguyên dương ~N~ và ~Q~ - tương ứng với độ dài của dãy ký ức và số lần Tăng tự vấn lòng mình. ~(N, Q \le 10^5)~
- Dòng thứ hai chứa ~N~ số nguyên ~a_1, a_2, …, a_N~ - những mảnh ký ức được ghi lại bằng con số. ~(|a_i| \le 10^9)~
- Tiếp theo là ~Q~ dòng, mỗi dòng chứa một số nguyên ~K~, tượng trưng cho giới hạn cảm xúc mà Tăng có thể chịu đựng ở mỗi lần hồi tưởng. ~(|K| \le 10^9)~
Output
- Với mỗi truy vấn, in ra một số nguyên duy nhất - độ dài của dãy con liên tiếp dài nhất trong ký ức, nơi mọi cảm xúc (mọi giá trị ~a_i~) đều không vượt quá ~K~.
Sample Input
6 4
-2 5 6 10 -5 0
-10
5
-4
11
Sample Output
0
2
1
6
Ràng buộc
- ~20\%~ test có ~N, Q \le 5\times 10^3~
- ~20\%~ test có ~a_1 \le a_2 \le ... \le a_{N-1} \le a_N~
- ~20\%~ test có ~a_1 \ge a_2 \ge ... \ge a_{N-1} \ge a_N~
- ~20\%~ test có ~a_1 \ge a_2 \ge ... \le a_{N-1} \le a_N~
- ~20\%~ test cuối cùng không có ràng buộc gì thêm.
Bình luận