[Buổi 18][Củng cố STL][RDD] Bài 2: Không quá S
Không quá S
Bối cảnh
Cho dãy số nguyên dương \(a\) có \(n\) phần tử. Hãy tìm độ dài đoạn con dài nhất trong dãy sao cho tổng các phần tử trong đoạn này không quá \(s\).
Yêu cầu
Dữ liệu đảm bảo các phần tử trong dãy \(a\) đều có giá trị không quá \(s\).
Input
Dòng đầu tiên chứa số nguyên \(n\) và \(s\) (\( 1 \leq n \leq 10^6\)) và \((1 \leq s \leq 10^{18})\).
Dòng thứ hai chứa \(n\) số nguyên, mỗi số các nhau một dấu cách \((1 \leq a_i,< 10^{9})\).
Output
In ra độ dài đoạn con dài nhất trong dãy sao cho tổng các phần tử trong đoạn này không quá \(s\).
Ràng buộc
Đề gốc không nêu ràng buộc riêng.
Ví dụ 1
Input
7 20
2 6 5 3 6 8 9
Output
4
Giải thích ví dụ
- Ví dụ 1:
- Dữ liệu:
a = [2, 6, 5, 3, 6, 8, 9],s = 20 - Giải thích: Đoạn con dài nhất có tổng các phần tử không quá 20 là
[2, 6, 5, 3], có độ dài 4.
- Dữ liệu:
Thông tin học tập
- Buổi: B18
- Concepts: two pointers, sliding window
- Giới hạn kiến thức: B01-B18
- Time limit: 1 second
- Memory limit: 20 MB
- Point: 20
Comments