[C10_ST_25] Mua sách

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

An muốn mua một bộ sách quý với giá là ~X~ đồng. An quyết định tiết kiệm tiền mỗi ngày và ghi lại số tiền tiết kiệm được trong ~N~ ngày liên tiếp, tạo thành dãy số nguyên ~A_1, A_2, \ldots, A_N~ tương ứng với số tiền tiết kiệm của ngày thứ ~1, 2, \ldots, N~. An muốn biết: "Trong giai đoạn liên tiếp ngắn nhất (liên tiếp các ngày), An có thể tiết kiệm được ít nhất ~X~ đồng là bao nhiêu ngày".

Yêu cầu

Bạn hãy giúp An tìm số ngày liên tiếp ngắn nhất để tiết kiệm được ít nhất là ~X~ đồng.

Dữ liệu đầu vào

Gồm hai dòng:

  • Dòng đầu tiên chứa hai số nguyên ~N~ và ~X~ ~(1 \le N \le 10^5, 1 \le X \le 10^9)~.
  • Dòng thứ hai chứa ~N~ số nguyên ~A_1, A_2, \ldots, A_N~ ~(1 \le A_i \le 10^5, 1 \le i \le N)~.

Dữ liệu đầu ra

Gồm một số nguyên duy nhất cho biết số ngày liên tiếp ngắn nhất để tiết kiệm được ít nhất là ~X~ đồng, ngược lại nếu không thể tiết kiệm được số tiền ít nhất là ~X~ đồng thì ghi ~0~.

Ràng buộc dữ liệu

  • Có 20% số test tương ứng với 20% số điểm của bài thỏa mãn: ~A_1 = A_2 = \ldots = A_N~.
  • Có 30% số test tương ứng với 30% số điểm của bài thỏa mãn: ~A_1 \ge A_2 \ge \ldots \ge A_N~.
  • Có 30% số test tương ứng với 30% số điểm của bài thỏa mãn: ~1 \le N \le 10^3~.
  • Có 20% số test tương ứng với 20% số điểm của bài không có ràng buộc gì thêm.

Ví dụ

Ví dụ 1
INPUT
6 8
2 5 4 1 3 3
OUTPUT
2

Giải thích: Giá bộ sách là ~8~ đồng. Trong ~2~ ngày liên tiếp (ngày thứ ~2~ và ngày thứ ~3~), An tiết kiệm được là ~5 + 4 = 9~ đồng. Đây là số ngày liên tiếp ngắn nhất để An tiết kiệm đủ số tiền mua sách.

Ví dụ 2
INPUT
6 100
2 3 1 4 4 3
OUTPUT
0

Giải thích: Giá bộ sách là ~100~ đồng. Sau ~6~ ngày, tổng số tiền tiết kiệm là ~17~ đồng, vẫn chưa đủ tiền mua sách.


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.