G. Đoạn với tổng nhỏ
Viết chương trình nhập mảng số nguyên dương a1, a2, ..., an.
Một đoạn con a[l..r] được gọi là tốt nếu tổng của nó không vượt quá s.
Hãy tìm đoạn tốt dài nhất.
Input
Dòng đầu chứa hai số nguyên n và s — số phần tử của mảng và giới hạn tổng.
Dòng thứ hai chứa n số nguyên a1, a2, ..., an.
Ràng buộc:
- 1 ≤ n ≤ 105
- 1 ≤ s ≤ 1018
- 1 ≤ ai ≤ 109
Output
In ra một số nguyên: độ dài của đoạn tốt dài nhất.
Nếu độ dài này lớn hơn 0, in ra tiếp các chỉ số bắt đầu (bắt đầu từ 1) của tất cả các đoạn con có độ dài đó.
Nếu không có đoạn nào thỏa mãn, chỉ in ra số 0.
Ví dụ
Input 7 20 2 6 4 3 6 8 9 Output 4 1 2 (Gồm 2 đoạn độ dài 4 bắt đầu tại chỉ số 1 và 2)
Input 7 1 2 3 5 6 9 8 7 Output 0 Tất cả các số đều > 1 Không đoạn nào có tổng ≤ 1
Comments