[HSG_HT_24] Dãy con

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

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 đầu vào

Gồm hai dòng:

  • 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, ..., a_n~ ~(1 \le i \le n;\ a_i \le 10^9)~.

Dữ liệu đầu ra

Gồm 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 dữ liệu

  • 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 ... \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.

Ví dụ

Ví dụ 1
INPUT
5 6
3 2 1 4 5
OUTPUT
3
Ví dụ 2
INPUT
4 16
7 1 2 5
OUTPUT
-1

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.