TS10 Quảng Trị 2026 - Hành trình xe điện
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Để nâng cao hiệu suất vận hành cho một loại xe điện mới, các bạn trong nhóm START UP đã tiến hành thử nghiệm như sau:
Một tuyến đường được chia làm ~N~ chặng đường liên tiếp, khi xe điện chạy ở chặng thứ ~i~ của con đường, xe điện sẽ tiêu thụ một lượng ~a_i~ đơn vị năng lượng ~(a_i > 0)~ hoặc được nạp thêm một lượng ~a_i~ năng lượng nhờ hệ thống tái tạo năng lượng khi đường xuống dốc ~(a_i < 0)~. Một hành trình liên tiếp sẽ xuất phát từ chặng thứ ~i~ và kết thúc tại chặng thứ ~j~ ~(1 \le i \le j \le N)~, khi đó tổng năng lượng trên hành trình đó là: ~a_i + a_{i+1} + a_{i+2} + ... + a_j~.
Các bạn mong muốn tìm một hành trình liên tiếp dài nhất để thử nghiệm, tuy nhiên để đảm bảo an toàn cho pin và các thiết bị khác trên xe, tổng năng lượng trên một hành trình liên tiếp không được vượt quá giới hạn an toàn ~P~ của pin xe điện.
Cho số nguyên dương ~N~, số nguyên ~P~ và dãy ~N~ số nguyên ~a_1, a_2, ..., a_N~.
Yêu cầu: Hãy xác định số chặng đường liên tiếp dài nhất sao cho tổng các giá trị năng lượng trên đoạn đó không vượt quá giới hạn an toàn ~P~ của pin.
Input
Dòng 1: Chứa hai số nguyên ~N~ và ~P~ ~(1 \le N \le 5 \times 10^5, P \le 10^9)~.
Dòng 2: Chứa ~N~ số nguyên ~a_1, a_2, ..., a_N~ ~(-10^6 \le a_i \le 10^6)~. Các số trên cùng một dòng được ghi cách nhau bởi một dấu cách.
Output
Gồm một dòng ghi ra độ dài lớn nhất của chặng đường liên tiếp theo yêu cầu của bài toán. Biết rằng, dữ liệu đầu vào luôn đảm bảo tìm ra kết quả.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~1/3~ | ~N \le 1000, -10^6 \le a_i \le 10^6~ |
| 2 | ~1/3~ | ~N \le 10^5, 0 \le a_i \le 10^6~ |
| 3 | ~1/3~ | ~N \le 5 \times 10^5, -10^6 \le a_i \le 10^6~ |
Sample Input 1
5 7
8 2 2 4 1
Sample Output 1
3
Notes
Chặng đường thỏa mãn yêu cầu bài toán là: ~(2, 4, 1)~.
Bình luận