Điểm:
5 (p)
Thời gian:
1.0s
Bộ nhớ:
1G
Input:
bàn phím
Output:
màn hình
Cho dãy số a có N phần từ nguyên \(a_1\), \(a_2\), .., \(a_n\) và một số nguyên S bất kì. Một dãy con liên tiếp của dãy số a có dạng \(a_i\), \(a_{i+1}\), .., \(a_j\) với 1 \(\leq\) i \(\leq\) j \(\leq\) N tổng của dãy con liên tiếp \(a_i\), \(a_{i+1}\), .., \(a_j\) độ dài của dãy con liên tiếp \(a_i\), \(a_{i+1}\), .., \(a_j\) bằng \(j - i + 1\) .
Yêu cầu:
Tìm dãy con liên tiếp của dãy số a có độ dài lớn nhất và có tổng không lớn hơn S?
Dữ liệu:
Vào từ tệp văn bản LONGEST.INP gồm:
- Dòng 1: ghi 2 số nguyên N và S (N \(\leq\) \(10^6\), S \(\leq\) \(10^9\))
- Dòng 2: ghi lần lượt các số nguyên không âm \(a_1\), \(a_2\), .., \(a_n\) ( \(a_i\) \(\leq\) \(10^6\) , i = 1..N)
Kết quả:
ghi ra tệp văn bản LONGEST.OUT gồm một số duy nhất là độ dài của dãy con liên tiếp dài nhất thoả mãn.
Ví dụ:
LONGEST.INP
8 7
6 8 2 4 5 1 9 3
LONGEST.OUT
2
Giới hạn:
- Có 10/25 test có n \(\leq\) 100 tương ứng 2 điểm;
- Có 10/25 test có 100 < n \(\leq\) 1000 tương ứng 2 điểm;
- Có 5/25 test có 1000 < N \(\leq\) \(10^6\), \(a_i\) > 0, i = 1..N tương ứng 1 điểm.
Bình luận