Cho một dãy \(A\) gồm \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\) và một số nguyên dương \(m\).
Yêu cầu: Hãy tìm số nguyên dương \(L\) nhỏ nhất sao cho tất cả các dãy con gồm \(L\) phần tử liên tiếp của dãy \(A\) đều có tổng lớn hơn hoặc bằng \(m\).
Input
Vào từ tệp văn bản SUBL.INP:
- Dòng thứ nhất chứa hai số nguyên dương \(n\) và \(m\) \((1 \le n \le 10^6; m \le 10^{18})\).
- Dòng tiếp theo chứa \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\) \((1 \le i \le n; a_i \le 10^9)\).
Output
Ghi ra tệp văn bản SUBL.OUT một số nguyên dương \(L\) nhỏ nhất tìm được thỏa mãn yêu cầu bài toán. Nếu không tìm được giá trị thỏa mãn thì ghi \(-1\).
Example
Test 1
Input
5 6
3 2 1 4 5
Output
3
Test 2
Input
4 16
7 1 2 5
Output
-1
Scoring
- Có \(30\%\) số test ứng với \(30\%\) số điểm của bài thỏa mãn: \(a_1 \le a_2 \le \dots \le a_n\).
- Có \(40\%\) số test khác ứng với \(40\%\) số điểm của bài thỏa mãn: \(n \le 10^3\).
- \(30\%\) số test còn lại ứng với \(30\%\) số điểm của bài không có ràng buộc gì thêm.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.