Cho hai số nguyên dương ~N, K~ (~1 ≤ N ≤ 10^5, 1 ≤ K ≤ 10^9~) và dãy gồm ~N~ số nguyên dương ~a_1,a_2,…,a_N~.
Yêu cầu: Tìm số nguyên dương ~L~ là độ dài lớn nhất, sao cho tất cả các dãy con gồm các phần tử liên tiếp kề nhau có độ dài ~L~, thuộc dãy số đã cho đều có tổng các phần tử bé hơn hoặc bằng ~K~.
Dữ liệu:
Đọc từ bàn phím theo cấu trúc sau:
- Dòng thứ nhất gồm hai số nguyên dương ~N~ và ~K~;
- Dòng thứ hai chứa ~N~ số nguyên dương ~a_1,a_2,…,a_N~ (~0 < a_i ≤ 10^5~, ~1 ≤ i ≤ N~);
- Các số trên một dòng cách nhau một khoảng trắng.
Dữ liệu ra:
Xuất ra màn hình một số nguyên dương ~L~ là độ dài của dãy con dài nhất thỏa mãn yêu cầu bài toán, nếu không có dãy con nào thỏa mãn yêu cầu thì xuất ra màn hình số -1.
Ví dụ đầu vào:
5 10
1 2 3 4 5
Đầu ra:
2
Giải thích: ~N~ = 5, ~K~ = 10, dãy {1; 2; 3; 4; 5} có các dãy con liên tiếp kề nhau có độ dài ~L~ = 2 là {1; 2}, {2; 3}, {3; 4}, {4; 5} đều có tổng các phần tử bé hơn ~K~, các dãy con liên tiếp kề nhau có độ dài ~L~ = 3 là {1; 2; 3}, {2; 3; 4}, {3; 4; 5} trong đó có dãy con {3; 4; 5} có tổng các phần tử lớn hơn ~K~ nên ~L~ = 3 không thỏa mãn yêu cầu bài toán, vậy ~L~ = 2 thỏa mãn yêu cầu bài toán.
Ràng buộc:
- 30% số điểm của bài ứng với các bộ dữ liệu vào có giới hạn ~1 ≤ N ≤ 10^2~ ;
- 30% số điểm của bài ứng với các bộ dữ liệu vào có giới hạn ~10^2 < N ≤ 10^3~ ;
- 40% số điểm của bài ứng với các bộ dữ liệu vào có giới hạn ~10^3 < N ≤ 10^5~ .
Bình luận