Bài 3. Dãy nhà đạt chuẩn (THT C2 Đà Nẵng 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Một buổi sáng đẹp trời, Nam dạo bước trên con đường quen thuộc trong khu phố của mình. Con đường có \(N\) ngôi nhà được đánh số từ \(1\) đến \(N\). Mỗi ngôi nhà thứ \(i\) mang một giá trị \(A_i\) thể hiện mức độ "chuẩn" của ngôi nhà đó đối với vẻ đẹp chung của khu phố. Trong lúc tản bộ, Nam nảy ra một ý tưởng thú vị: Nam chọn ra các đoạn ngôi nhà liên tiếp sao cho tổng mức độ "chuẩn" của chúng không nhỏ hơn một ngưỡng \(S\), Nam gọi những đoạn như vậy là dãy nhà đạt chuẩn. Cụ thể, một đoạn các ngôi nhà liên tiếp từ \(L\) đến \(R\) (\(1 \le L \le R \le N\)) được gọi là dãy nhà đạt chuẩn nếu: \(A_L + A_{L+1} + \dots + A_R \ge S\).

Yêu cầu: Trong số các dãy nhà đạt chuẩn mà Nam đã chọn, hãy xác định độ dài \(K\) nhỏ nhất của một dãy nhà đạt chuẩn. Nếu không tồn tại dãy nào thỏa mãn thì in ra \(0\).

Input

  • Dòng thứ nhất chứa hai số nguyên \(N, S\) (\(1 \le N \le 10^6, |S| \le 10^{18}\)).
  • Dòng thứ hai ghi \(N\) số nguyên \(A_1, A_2, \dots, A_N\) (\(|A_i| \le 10^9\)).

Output

  • Ghi ra một dòng duy nhất là số nguyên \(K\) tìm được.

Example

Test 1

Input
8 6
3 1 5 5 2 1 3 4
Output
2
Note

Dãy có tổng \(\ge 6\) ngắn nhất đó là dãy: 1, 5. Dãy này có độ dài là \(2 \Rightarrow K = 2\).

Test 2

Input
8 100
3 1 5 5 2 1 3 4
Output
0
Note

Không có dãy nào có tổng \(\ge 100 \Rightarrow K = 0\).

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(1 \le N \le 10^3, 0 < A_i \le 10^9\).
  • Subtask \(2\) (\(30\%\) số điểm): \(10^3 < N \le 10^6, 0 < A_i \le 10^9\).
  • Subtask \(3\) (\(40\%\) số điểm): \(1 \le N \le 10^6, -10^9 \le A_i \le 10^9\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: