Kế hoạch luyện tập

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: khlt.inp
Output: khlt.out

Ngôn ngữ cho phép
C++, PyPy, Python

Kì nghỉ hè năm nay, Nam xây dựng kế hoạch luyện tập chủ động trên hệ thống lập trình trực tuyến.
Hệ thống cung cấp ~n~ bài toán. Hai bài toán có nội dung liên quan thì được sắp xếp liền kề nhau.
Các bài toán có độ khó lần lượt là ~a_1, a_2, …, a_n~.

Nam đặt ra mục tiêu: kết thúc đợt nghỉ hè phải ôn luyện được một số nội dung nên cần làm được các bài toán liên quan và có tổng độ khó ≥ S.
Tuy nhiên do còn nhiều hoạt động khác, Nam muốn làm ít nhất các bài toán mà vẫn đạt mục tiêu.

Hãy giúp Nam tính số lượng bài toán liên tiếp ít nhất cần làm để đạt tổng độ khó tối thiểu là ~S~.

  • Nếu có phương án, ghi ra số lượng bài toán ít nhất.
  • Nếu không có phương án nào thoả mãn, ghi ra ~-1~.

Input (KHLT.INP)

  • Dòng 1: chứa hai số nguyên dương ~n, S~.
  • Dòng 2: chứa ~n~ số nguyên dương ~a_1, a_2, …, a_n~.

Output (KHLT.OUT)

  • Một số nguyên duy nhất là số lượng bài toán Nam cần làm.
  • Nếu không có phương án thoả mãn, in ra ~-1~.

Ví dụ

KHLT.INP

8 19
1 5 4 1 5 2 10 1

KHLT.OUT

5

Ràng buộc

  • 25% số điểm: ~1 ≤ n ≤ 10^2~, ~1 ≤ S ≤ 10^6~, ~1 ≤ a_i ≤ 10^4~.
  • 25% số điểm: ~10^2 < n ≤ 5×10^3~, ~1 ≤ S ≤ 5×10^9~, ~1 ≤ a_i ≤ 10^6~.
  • 25% số điểm: ~5×10^3 < n ≤ 10^5~, ~1 ≤ S ≤ 10^14~, ~1 ≤ a_i ≤ 10^6~.
  • 25% số điểm: ~10^5 < n ≤ 10^7~, ~1 ≤ S ≤ 10^16~, ~1 ≤ a_i ≤ 10^9~.

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.