Two pointer 2B

Xem PDF

Điểm: 1200 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một mảng \(a\) gồm \(n\) số nguyên. Ta định nghĩa một đoạn con \(a[l\dots r] (1\le l \le r)\) của mảng là tốt nếu tổng các phần tử của nó ít nhất là \(s\). Nhiệm vụ của bạn là tìm đoạn con "tốt" có độ dài ngắn nhất.

Input

  • Dòng đầu tiên chứa các số \(n\)\(s (1 \le n \le 10^5, 1 \le s \le 10^{18})\)
  • Dòng thứ hai chứa các số nguyên \(a_i (1 \le a_i \le 10^9)\)

Output

  • In ra một số nguyên là độ dài của đoạn con tốt ngắn nhất. Nếu không có đoạn nào, in -1

Example

Sample input

7 20
2 6 4 3 6 8 9

Sample output

3

Nguồn: Codeforces


Bình luận

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