Cho một dãy \(A\) gồm \(n\) số nguyên dương \(a_{1},\ a_{2},\ ...\ ,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\).
Dữ liệu vào:
Dòng thứ nhất chứa hai số nguyên dương \(n\) và \(m\) \((1 \leq n \leq 10^{5};\ m \leq 10^{18})\).
Dòng tiếp theo chứa \(n\) số nguyên dương \(a_{1},\ a_{2},\ \ldots,a_{n}\ (\ 1 \leq i \leq \ n;a_{i} \leq 10^{9})\).
Kết quả: Ghi 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\).
Ràng buộc:
Có 30% số test ứng với 30% số điểm của bài thỏa mãn: \(a_{1} \leq a_{2} \leq \ldots \leq a_{n}\)
Có 40% số test khác ứng với 40% số điểm của bài thỏa mãn: \(n \leq 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.
Ví dụ:
Input | Output | Input | Output | |
---|---|---|---|---|
5 6 3 2 1 4 5 | 3 | 4 16 7 1 2 5 | -1 |
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |